火鹰视角

关注互联网,关注技术开发,透析与分享移动互联网行业最新动态
当前位置: 网站首页 > > 以图搜图 | 计算机是怎么知道两张图片相似的?

以图搜图 | 计算机是怎么知道两张图片相似的?

时间:时间: 2022-01-12 15:02:19   阅读: 2058 分类:常见问题
计算机又是怎么知道两张图片相似呢?

以图搜图功能,特别是移动端的以图搜图,成为日益增长的流量入口和用户需求。移动端的以图搜图是一代又一代的图像人、搜索人的梦想,而如今梦想在一步步贯彻并变为现实。

 

你可以上传一张图片,搜索各大互联网电商网站上所有与它相似的图片。相似度如此之高另外还能同色系同材质进行匹配,那么问题就来了!这种技术的原理是什么?计算机的以图搜图系统又是怎么知道两张图片相似呢?


 

其实原理非常简单易懂,我们可以用一个快速算法,就达到基本的效果。这里的关键技术叫做 “感知哈希算法”(Perceptual hash algorithm):

 

第一步,缩小尺寸。

 

将图片缩小到8*8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。

 

第二步,简化色彩。

 

将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。

 

第三步,计算平均值。

 

计算所有64个像素的灰度平均值。

 

第四步,比较像素的灰度。

 

将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。

 

第五步,计算哈希值。

 

将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。

 

这种算法的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。如果在图片上加几个文字,它就认不出来了。所以,它的最佳用途是根据缩略图,找出原图。



火鹰科技以图搜图系统定制化开发方案,根据企业的实际需求搭建出功能完善的专属以图搜图系统。再也不用担心多余功能所产生的费用以及功能不足的问题。100%源码交付,对程序拥有绝对的所有权,终端代码全量开源无加密,支持私有化部署,轻松进行二次开发。

火鹰科技-移动应用开发/app开发/小程序开发