基于Python语音,使用Jupyter notebook开发的简单图像识别算法。算法通过将图像进行缩放,并进行灰度处理。然后计算待比较的两个图片之间的汉明距离,通过汉明距离来判断图片之间的相似性,并按照概率给出相似值,用于对重复图片的检测、判断。
算法大致流程如下:
1.缩放图片,一般大小为8*8,64个像素值。
2.转化为灰度图
3.计算平均值:计算进行灰度处理后图片的所有像素点的平均值,直接用numpy中的mean()计算即可。
4.比较像素灰度值:遍历灰度图片每一个像素,如果大于平均值记录为1,否则为0.
5.得到信息指纹:组合64个bit位,顺序随意保持一致性。
最后比对两张图片的指纹,获得汉明距离即可。
汉明距离的概念:
汉明距离是使用在数据传输差错控制编码里面的,汉明距离是一个概念,它表示两个(相同长度)字符串对应位置的不同字符的数量,我们以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。