python - 颜色感知图像哈希

标签 python image-processing hash

我一直在尝试用 Python 编写一个快速(大概)图像匹配程序,它不匹配旋转或缩放变形的图像。

目标是能够找到图像的一小部分,这些部分在颜色特征上与其他图像相似,但如果旋转或扭曲则不同。

我发现了感知图像散列,我看过 Python 和 SSIM 的 ImageHash 模块,但是我看过的大多数东西都没有将颜色作为主要因素,即它们平均颜色并且只在一个 channel 中工作,特别是 phash 不关心图像是否旋转。

我希望能够有一个算法来匹配在远处看起来相同的图像(但不一定需要是相同的图像)。

谁能建议我如何在 python 中构造和编写这样的算法?或者建议一个能够以这种方式比较图像的函数?

最佳答案

我找到了几种方法来做到这一点。

我最终使用了自己编写的均方误差函数:

def mse(引用,查询): 返回 (((reference).astype("double")-(query).astype("double"))**2).mean()

直到,在后来的修补中,我发现了一个似乎可以做类似事情的函数(一点一点地比较图像相似性),但速度要快得多:

def linalg_norm(引用,查询): 返回 np.linalg.norm(引用查询)

我对第二个函数的作用一无所知,但实际上这无关紧要。我并不反对学习它是如何工作的。

关于python - 颜色感知图像哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28258468/

相关文章:

python - grid.py 无法获取数据集的比率

python - 在Python中按 block 加载图像以进行GDAL处理

java - 如何在OpenCV中获取由四个点定义的四边形内部的像素?

c++ - opencv2模糊图像

c# - 如何使用 C# 取消散列?

algorithm - 最佳地重新排序钱包中的卡?

java获取唯一的服务器ID以供引用

python - pandas 通过循环列表中的名称来生成数据帧

python - 图像处理算法设计 : how to get front images from an angled camera?

python - 用户可以在 Flask URL 参数中使用的限制值