本期的每周一库带来的是img_hash,一个rust下的pHash算法实现。
关于pHash,一般翻译为感知哈希算法,算法通过DCT离散余弦来用固定大小矩阵(一般位8 X 8)把图像像素数据转换为频率数据,然后通过二值化计算得到图像的二进制数组,最后通过计算Hamming distance来得到两张图片的相似度数据。
下面是img_hash的相关链接
github: img_hash
doc.rs: img_hash
我们通过例子来使用img_hash库
开发环境
OS: Windows 10
:
:
在工程中的文件中添加引用
然后我们准备三张用于测试的图片,其中image 2是用image 1涂抹部分区域得到的
接下来我们根据img_hash提供的示例代码稍作修改写入,分别计算我们准备的三张图片的区别
image 1和image 2的Hamming distance
image 1和image 3的Hamming distance
image 2和image 3的Hamming distance
示例代码
运行结果
从运行结果我们可以看到,image 1和image 2的相似度更高,所有harmming distance更小,从另一个角度来看,image 2要比image 1更具有对image 3的相似性。
以上就是本期的每周一库
领取专属 10元无门槛券
私享最新 技术干货