pHash跟simhash很多相近的地方。一个是较多用于图像,一个较多用于文本。
一、pHash跟simhash
1、simhash
google的simhash算法可以用来衡量原始文档的相似程度。如何判断呢?很简单,就是求2个文档的simhash的距离(即二进制数字中不相同的位的个数)。
Simhash的算法简单的来说就是,从海量文本中快速搜索和已知simhash相差小于k位的simhash集合,这里每个文本都可以用一个simhash值来代表,一个simhash有64bit,相似的文本,64bit也相似,论文中k的经验值为3。
该方法的缺点如优点一样明显,主要有两点,
对于短文本,k值很敏感;
另一个是由于算法是以空间换时间,系统内存吃不消。
.
2、感知哈希算法(pHash)
平均哈希算法过于严格,不够精确,更适合搜索缩略图,为了获得更精确的结果可以选择感知哈希算法,它采用的是DCT(离散余弦变换)来降低频率的方法
一般步骤:
- 缩小图片:32 * 32是一个较好的大小,这样方便DCT计算 <