以下是一个使用OpenCV和Python比较两个二进制图像的示例代码:
import cv2
def compare_images(image1, image2):
# 读取图像
img1 = cv2.imread(image1, 0)
img2 = cv2.imread(image2, 0)
# 检查图像大小是否相同
if img1.shape != img2.shape:
return False
# 比较图像
diff = cv2.subtract(img1, img2)
result = cv2.countNonZero(diff)
# 判断图像是否相似
if result == 0:
return True
else:
return False
# 比较两个图像
image1 = "image1.png"
image2 = "image2.png"
if compare_images(image1, image2):
print("两个图像相似")
else:
print("两个图像不相似")
在这个示例代码中,compare_images
函数接受两个二进制图像的文件路径作为参数,并使用OpenCV的imread
函数读取图像。然后,它检查图像的大小是否相同。如果大小相同,它将使用subtract
函数计算两个图像的差异,并使用countNonZero
函数计算差异中的非零像素数。最后,如果差异为零,则返回True,否则返回False。
你可以根据自己的需求修改代码,例如使用不同的图像比较方法、图像路径等。