我一直在尝试用Python编写一个快速(ish)图像匹配程序,它与旋转或缩放变形的图像不匹配。在
目标是能够找到一个图像的小部分,这些部分在颜色特征上与其他图像相似,但如果旋转或扭曲则不同。在
我发现了感知图像哈希,并查看了Python和SSIM的ImageHash模块,但是我看到的大多数东西都没有颜色作为主要因素,即它们平均颜色并且只在一个通道中工作,phash尤其不关心图像是否旋转。在
我想能够有一个算法,将匹配的图像,在一定的距离将显示相同(但不一定需要是相同的图像)。在
有人能建议我如何用python构造和编写这样的算法吗?或者建议一个能够以这种方式比较图像的函数?在
我找到了几种方法。在
最后我使用了我自己编写的均方误差函数:
def mse(reference, query): return (((reference).astype("double")-(query).astype("double"))**2).mean()
直到后来,我发现了一个函数,它似乎在做类似的事情(一点一点地比较图像相似性),但速度快得多:
def linalg_norm(reference, query): return np.linalg.norm(reference-query)
我对第二个函数的作用没有理论上的了解,但实际上它并不重要。我并不反对学习它是如何工作的。在
相关问题 更多 >
编程相关推荐