【发布时间】:2020-06-24 14:47:34
【问题描述】:
我正在尝试使用 opencv 对图像进行哈希处理,但与本机 python 哈希相比,我得到了不同的结果(我需要哈希来比较文件)。
这里是示例代码:
from hashlib import sha256
import cv2
if __name__ == '__main__':
image = cv2.imread("test.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
print(sha256(image.tobytes()).hexdigest())
with open("test.jpg", "rb") as fl:
print(sha256(fl.read()).hexdigest())
还有输出:
276f7ff1512be1ff3d62d184e881798b3dd46ea81ed104ca169364725dd6312f
0c02c622c7ddda5aba0b4172cfa3e0fe0179bc370f07305c94178ae781da7804
【问题讨论】:
-
正如@GPhilo 所说,第一个是存储在内存中的 RGB/BGR 像素的哈希值,第二个是磁盘上 JPEG 文件的哈希值,该文件可能包含照片拍摄,相机和镜头型号,GPS坐标等。
标签: python python-3.x opencv hash sha