我们可以使用Python的OpenCV库来解决这个问题。具体方法如下:
1.加载两个图像 2.转换成灰度图像 3.通过cv2.absDiff()函数计算两个图像的差异 4.应用阈值来区分不同的像素 5.在图像上标记出差异
下面是示例代码:
import cv2
# 加载两个图像
img1 = cv2.imread("image1.png")
img2 = cv2.imread("image2.png")
# 转换成灰度图像
gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
# 计算差异图像
diff = cv2.absdiff(gray1, gray2)
# 应用阈值
threshold = 30
_, thresh = cv2.threshold(diff, threshold, 255, cv2.THRESH_BINARY)
# 在图像上标记出差异
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img1, contours, -1, (0, 0, 255), 2)
# 显示结果
cv2.imshow("Difference", img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上面的代码中,“image1.png”和“image2.png”是要比较的两个图像。阈值的大小可以根据具体情况调整。