来源:极链科技
作者:吴宏伟
以图搜图原理
图文无关
首先介绍一下以图搜图的实现原理,弄明白我们是怎样将一张图片转化为可以量化计算的哈希值。
我们知道图片本身是二进制数据,是一系列像素值的集合,一张彩色图片可以用[h,w,3]的三维数组来表示,要直接比较两个三维数组的相似度,非常困难,我们要对这个数组进行简化,以便于我们计算。
- 缩小尺寸
通常图片的h和w在800-1200之间,我们需要缩小图片的尺寸,具体缩小到多大,需要根据具体情况而定,既不损失过多信息,也能减小计算量
- 简化色彩
一般而言,图片色彩对我们比较相似度来说,不会有影响,所以将三通道转化为单通道
简化完之后,[h,w,3]的三维数组就变成h’*w’(h’和w’为缩小后的图片尺寸)个像素值,象素值取值范围为0-255之间的整数,继续简化成0/1
- 计算所有像素平均值
- 将每个像素的值与平均值进行比较,小于平均值标记为0,大于平均值标记为1
转化完之后,我们就得到一个h’*w’位的二进制数值,这个值就是我们能够直接比较的哈希值,通过计算两个哈希值的汉