Python中的图像比较

Python中的图像比较,python,opencv,Python,Opencv,我想比较两幅图像之间的差异。我手头有一个通过“opencv”比较整个图像的解决方案。然而,我想进一步改进以比较图像的特定部分 假设:图1中有一个矩形框 图2中有一个类似(但不相同)的矩形框 我只想比较那些特定区域(文本框),而不是整个图像。有办法吗?请建议。您可以使用ImageHash from PIL import Image import imagehash hash = imagehash.average_hash(Image.open('test.png')) otherhash

我想比较两幅图像之间的差异。我手头有一个通过“opencv”比较整个图像的解决方案。然而,我想进一步改进以比较图像的特定部分

假设:图1中有一个矩形框

图2中有一个类似(但不相同)的矩形框


我只想比较那些特定区域(文本框),而不是整个图像。有办法吗?请建议。

您可以使用ImageHash

from PIL import Image
import imagehash

hash = imagehash.average_hash(Image.open('test.png'))
otherhash = imagehash.average_hash(Image.open('other.bmp'))

print(hash - otherhash)


使用类似于
枕头的库
对图像进行解码,然后循环遍历每个图像的像素并计算白色像素。如果图像仅包含两个矩形框,如您所示,那么这是最好的方法。编辑:你把
OpenCV
作为一个标签,但你仍然可以这样做。它是做什么的?如果你不介意的话,请你详细说明一下好吗?我确实执行了,但显然不理解结果。我假设你的意思是详细说明Imagehash的作用,它基本上分解了图片,并比较了分布和黑色和灰色分数。这里有一个完整的解释