标签: python opencv image-processing
我的目标是在比较之前将图像1和图像2放在相同的位置,并使用python获取图像之间的差异。举个例子:
你可以看到图像1和图像2是相同的图像,但是图像2被移动并且具有另一个没有图像的孔。我想比较这两个图像,但首先,我需要将图像1和图像2放在相同的位置。
我如何才能找到图像中的差异?
编辑:
真实图像
答案 0 :(得分:0)
这个问题可以分为两部分: 1)图像对齐 2)图像差异分析
在第一种情况下,我们可以使用基于SIFT / SURF的特征描述符在两个图像中定义特征及其描述。 OpenCV库已经提供了这些功能。使用关键点比较图像。在图像中取任何匹配的关键点对,找到这些关键点与相应图像中的任何参考点的距离,例如相应图像的左边缘,并找到这两个长度的差异。这种差异是一个图像可以在水平方向上移动以与其他图像对齐所需的长度,因此可以使用此差异长度对齐图像。
对于第二种情况,在对齐图像之后,遍历重叠区域中的两个图像中的所有像素,逐个比较来自两个图像的对应像素值以标记差异。