Image 如何比较两个边缘图像(在OpenCV中)?
在我的项目中,我需要与图像进行比较。一个图像显示渲染模型,另一个图像是照片,其中显示了模型中表示的真实对象。我真正想要的是:Image 如何比较两个边缘图像(在OpenCV中)?,image,image-processing,opencv,compare,Image,Image Processing,Opencv,Compare,在我的项目中,我需要与图像进行比较。一个图像显示渲染模型,另一个图像是照片,其中显示了模型中表示的真实对象。我真正想要的是: 该算法必须比较两幅图像并返回一个描述相似性的数字。假设数字越小,图像就越适合 这两个图像都表示为二进制图像,其中仅包含真实渲染图像/照片的轮廓/边缘 照片中的对象比渲染图像中的对象多得多。因此,我只想检查渲染对象的视点是否与照片中真实对象的视点几乎相同。(示例:对汽车进行建模,使其近似于真实汽车。我从特定位置和方向拍摄真实汽车的照片。现在,我想检查观看渲染汽车的虚拟相机
- 该算法必须比较两幅图像并返回一个描述相似性的数字。假设数字越小,图像就越适合
- 这两个图像都表示为二进制图像,其中仅包含真实渲染图像/照片的轮廓/边缘
- 照片中的对象比渲染图像中的对象多得多。因此,我只想检查渲染对象的视点是否与照片中真实对象的视点几乎相同。(示例:对汽车进行建模,使其近似于真实汽车。我从特定位置和方向拍摄真实汽车的照片。现在,我想检查观看渲染汽车的虚拟相机的位置和方向是否与真实生活中相机的位置和方向几乎相同)。解决方案只是将渲染图像的白色像素与照片的像素(作为边缘图像)进行比较。其他像素并不有趣李>
- 图像比较的返回值应减小虚拟摄影机的“我的方向”和“位置”与真实摄影机的方向和位置的匹配度
谢谢你的建议。我有点困惑,因为标准化的交叉共振和Haussdorff距离似乎有助于在大图中找到一个小图案 问题是:这两种算法是否也适用于比较相同大小的两张图片 下面是一个必须进行比较的两个图像的示例。目前,我正在每秒比较大约120幅图片 太糟糕了,我不能作为新用户发布图像。这是直接的联系: 您也可以退房。我在检测视频流中的剪切场景时非常成功地使用了它。基本上,将整个图像视为1D向量,然后继续进行余弦相似性度量。基本上,小角度意味着紧密匹配,大角度意味着不匹配。阈值需要对数据集进行一些调整,但它可能会起作用,而且速度非常快 归一化互相关应该更稳健,但它需要更多的时间。既然您提到需要处理不同的姿势,您还应该看看特征检测和提取解决方案。看看opencv和示例。这些技术对缩放和旋转差异有一定的容忍度
希望对你有帮助 以Haussdorff距离为起点进行实验怎么样?总体思路和c语言实现。文章如下: ,由DP Huttenlocher于1993年出版
对于高维数据,如图像,我不希望欧几里德距离和余弦相似性之间有任何显著差异。已发布示例链接。有趣的问题为+1。你能在边缘检测之前发布图像吗?这将有助于为你的问题添加一些上下文。通常,上图只显示了第二幅图中显示的建筑物的渲染模型。两幅图像都是8位灰度图像。现在的任务是将虚拟摄影机设置为与真实摄影机相同的位置和方向。这必须通过比较大量渲染(不同相机姿势)与真实照片来实现。