要比较两张图片并输出打印语句,可以使用Python中的OpenCV库来实现。下面是一个示例代码,展示了如何比较两张图片并输出打印语句,标注反映被比较的样本。
import cv2
def compare_images(image1_path, image2_path):
# 读取两张图片
image1 = cv2.imread(image1_path)
image2 = cv2.imread(image2_path)
# 检查图片是否成功读取
if image1 is None or image2 is None:
print("图片读取失败")
return
# 比较两张图片
difference = cv2.subtract(image1, image2)
b, g, r = cv2.split(difference)
# 统计差异像素数量
diff_pixels = cv2.countNonZero(cv2.merge((b, g, r)))
# 判断是否有差异
if diff_pixels == 0:
print("两张图片相同")
else:
print("两张图片不同")
# 显示图片
cv2.imshow("Image1", image1)
cv2.imshow("Image2", image2)
cv2.imshow("Difference", difference)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 调用函数进行比较
compare_images("image1.jpg", "image2.jpg")
在上述代码中,首先使用cv2.imread()
函数读取了两张图片,然后使用cv2.subtract()
函数比较了这两张图片的差异,并使用cv2.split()
函数将差异图片拆分为蓝色通道(b)、绿色通道(g)和红色通道(r)。
接着,使用cv2.countNonZero()
函数统计了差异像素的数量。如果差异像素数量为0,则说明两张图片相同;如果差异像素数量大于0,则说明两张图片不同。
最后,使用cv2.imshow()
函数显示了原始图片、差异图片,并使用cv2.waitKey()
函数等待用户按下键盘任意键关闭图片窗口。