我想使用Python和cv2来比较两张图片,就像下面这样。
(Python 2.7 + Windows)
c:\Original.jpg
c:\Edited.jpg
很简单,我可以做到以下操作并保存一张显示差异的图片:
结果如下:
(Python 2.7 + Windows)
c:\Original.jpg
![c:\Original.jpg](https://istack.dev59.com/BR9JB.webp)
![Edited.jpg](https://istack.dev59.com/rLDlJ.webp)
import cv2
Original = cv2.imread("c:\\Original.jpg")
Edited = cv2.imread("c:\\Edited.jpg")
diff = cv2.subtract(Original, Edited)
cv2.imwrite("c:\\diff.jpg", diff)
结果如下:
结果就像这样:
c:\diff.jpg
此外,我希望根据比较的文件在图片中显示差异。换句话说,我希望基于“Edited.jpg”在图片上画出差异的圆圈或标记。是否可能?
(想到一种方法可能是识别“diff.jpg”中的可见区域,然后在“Edited.jpg”中为该区域绘制一个圆圈?)