Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 如何识别同一对象的两幅图像中的变化_Image Processing_Computer Vision_Feature Detection - Fatal编程技术网

Image processing 如何识别同一对象的两幅图像中的变化

Image processing 如何识别同一对象的两幅图像中的变化,image-processing,computer-vision,feature-detection,Image Processing,Computer Vision,Feature Detection,我知道有两幅图像代表着完全相同的物体。在下图中,它们被称为参考和匹配 与参考相比,图像匹配可以经历以下转换: 物体可能因添加(例如,在侧面添加污垢或文字)或遗漏(已取出侧镜)而局部改变其外观 仅在水平方向拉伸或缩小尺寸(不在垂直方向调整尺寸) 参考图像的部分不匹配(参考图像中以红色阴影显示) 问题:如何确定以上述方式“改变”的地区 想法#1:一旦匹配图像的开始和结束(图像中编号为1和3)与参考图像中的相应列对齐,动态时间扭曲似乎是一个不错的选择,但我不确定如何继续 想法2:在图像中匹配筛选特征

我知道有两幅图像代表着完全相同的物体。在下图中,它们被称为参考和匹配

与参考相比,图像匹配可以经历以下转换:

  • 物体可能因添加(例如,在侧面添加污垢或文字)或遗漏(已取出侧镜)而局部改变其外观

  • 仅在水平方向拉伸或缩小尺寸(不在垂直方向调整尺寸)

  • 参考图像的部分不匹配(参考图像中以红色阴影显示)

  • 问题:如何确定以上述方式“改变”的地区

    想法#1:一旦匹配图像的开始和结束(图像中编号为1和3)与参考图像中的相应列对齐,动态时间扭曲似乎是一个不错的选择,但我不确定如何继续


    想法2:在图像中匹配筛选特征。由特征点位置生成的细分将图像分割为不均匀的分片。使用图像间的特征对应关系来确定要在图像间匹配的平铺。使用相似性度量来找出任何变化。

    你可能需要考虑一个迭代注册算法。基本上,您希望执行优化以找到变换的参数,在您的示例中是水平缩放和水平平移。优化参数后,将在两个图像之间进行变换,变换一个以匹配另一个,然后可以使用减法来识别具有差异的区域

    要注册,请查看ITK图书馆。
    您可能可以使用互信息作为度量来进行梯度优化。它有许多不同的变换,可以捕获平移和缩放。代码应该在显示的示例图像上快速运行。

    转换不仅仅是水平缩放和水平平移。正如我在原始问题中提到的,原始对象的某些部分可能已更改(添加或删除)。@curryage-您并不真正关心这些,只要它们仅代表图像的一部分。如果颜色发生变化、汽车着火等情况,优化程序将足够稳健,仍然可以为您提供准确的结果。这样想,您正在寻求共识,需要更改大量像素,才能使度量不再以正确的优化方式最大化/最小化。此外,如果使用诸如互信息之类的度量,它将忽略诸如颜色更改之类的内容-它不寻找精确匹配,而是在目标图像和运动图像中查找相应的颜色对。