Unity C#使用pHash算法实现图片相似度计算(判断俩张图片是否相似)。
2023-05-31 10:44:52 91KB C# Unity 算法
PHash算法即感知哈希算法/Perceptual Hash algorithm,计算基于低频的均值哈希.对每张图像生成一个指纹字符串,通过对该字符串比较可以判断图像间的相似度. PHash算法原理 将图像转为灰度图,然后将图片大小调整为32*32像素并通过DCT变换,取左上角的8*8像素区域。然后计算这64个像素的灰度值的均值。将每个像素的灰度值与均值对比,大于均值记为1,小于均值记为0,得到64位哈希值。 PHash算法实现 将图片转为灰度值 将图片尺寸缩小为32*32 resize(src, src, Size(32, 32)); DCT变换 Mat srcDCT; dct(sr
2023-01-05 13:12:46 122KB AS c c++
1
图像去重. 删除重复或相似的图像,感知哈希法,python
2021-05-06 00:24:44 3KB 删除相同图片 python phash
1
虽然均值哈希更简单且更快速,但是在比较上更死板、僵硬。它可能产生错误的漏洞,如果有一个伽马校正或颜色直方图被用于到图像。这是因为颜色沿着一个非线性标尺 - 改变其中“平均值”的位置,并因此改变哪些高于/低于平均值的比特数。一个更健壮的算法叫pHash,(我使用的是自己改进后的算法,但概念是一样的) pHash的做法是将均值的方法发挥到极致。使用离散余弦变换(DCT)降低频率。
1
自己移植的pHash 0.96版本的vs2013版本,分享给大家。开源的图像相似度感知hash算法,支持jpg等主流图像的相似度匹配。
2019-12-21 20:03:52 1.09MB phahs 0.9.6
1