1

我正在尝试使用imagehash库(https://pypi.org/project/ImageHash/)来识别视觉上相同的文件。我正在测试 3 个文件。第二个只是第一个的降低分辨率。文件 3 非常不同。图片如下。

我编写了一个简单的 python 程序来使用 imagehash 来区分图像:

from PIL import Image
import imagehash
import os
import sys

def gethash(relPath):
    script_dir = os.path.dirname(__file__) #<-- absolute dir the script is in
    path = os.path.join(script_dir, relPath)
    return imagehash.phash(Image.open(path))
    
print(gethash(sys.argv[1]) - gethash(sys.argv[2]))

当我从命令行运行它时,图像 1 和 2 与 1 到 3 具有相同的差异。我在使用 imagehash 时做错了什么?

PS C:\pickle\lambda\hash> py .\testih.py .\img\1.jpg .\img\2.jpg
36
PS C:\pickle\lambda\hash> py .\testih.py .\img\1.jpg .\img\3.jpg
36
PS C:\pickle\lambda\hash> py .\testih.py .\img\2.jpg .\img\3.jpg
30

我试过 phash、average_hash、dhash,结果都差不多。感谢您的任何建议!

1.jpg https://picklepics.app/misc/1.jpg

2.jpg https://picklepics.app/misc/2.jpg

3.jpg https://picklepics.app/misc/3.jpg

4

0 回答 0