我有两张具有共同背景的图像,它们之间的唯一区别是移动圆圈。
图片1:
图片2:
预期差异图像是这样的:
如您所见,差异以图片编号突出显示。
我现在能做的就是:
import cv2
img1 = cv2.imread("1.jpg", cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread("2.jpg", cv2.IMREAD_GRAYSCALE)
diff = cv2.absdiff(img1, img2)
有没有办法做到这一点?任何帮助将不胜感激!
答案 0 :(得分:0)
您可以将像素逐个与像PIL这样的库进行比较。
当两个图像中的像素颜色相同时,只需绘制它。当您到达一个像素,其值是一个图像中的背景颜色而不是另一个图像时,绘制非背景颜色的像素。
这是一个非常基本的想法,但应该进行改进。例如,如果形状重叠怎么办?但是,你需要检测边缘,然后进入信号处理领域,这要复杂得多。但没有什么不可能!更难。