哈希游戏- 哈希游戏平台- 哈希游戏官方网站
上个月Google把相似图片搜索正式放上了首页。 你可以用一张图片搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。 一个对话框会出现。 你输入网片的网址或者直接上传图片Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。 上传后Google返回如下结果 类似的相似图片搜索引擎还有不少TinEye甚至可以找出照片的拍摄背景。 ========================================================== 这种技术的原理是什么计算机怎么知道两张图片相似呢 根据Neal Krawetz博士的解释原理非常简单易...
上个月Google把相似图片搜索正式放上了首页。 你可以用一张图片搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。 一个对话框会出现。 你输入网片的网址或者直接上传图片Google就会找出与其相似的图片。下面这张图片是美国女演员Alyson Hannigan。 上传后Google返回如下结果 类似的相似图片搜索引擎还有不少TinEye甚至可以找出照片的拍摄背景。 ========================================================== 这种技术的原理是什么计算机怎么知道两张图片相似呢 根据Neal Krawetz博士的解释原理非常简单易懂。我们可以用一个快速算法就达到基本的效果。 这里的关键技术叫做感知哈希算法Perceptual hash algorithm它的作用是对每张图片生成一个指纹fingerprint字符串然后比较不同图片的指纹。结果越接近就说明图片越相似。 下面是一个最简单的实现 第一步缩小尺寸。 将图片缩小到8x8的尺寸总共64个像素。这一步的作用是去除图片的细节只保留结构、明暗等基本信息摒弃不同尺寸、比例带来的图片差异。 第二步简化色彩。 将缩小后的图片转为64级灰度。也就是说所有像素点总共只有64种颜色。 第三步计算平均值。 计算所有64个像素的灰度平均值。 第四步比较像素的灰度。 将每个像素的灰度与平均值进行比较。大于或等于平均值记为1小于平均值记为0。 第五步计算哈希值。 将上一步的比较结果组合在一起就构成了一个64位的整数这就是这张图片的指纹。组合的次序并不重要只要保证所有图片都采用同样次序就行了。 得到指纹以后就可以对比不同的图片看看64位中有多少位是不一样的。在理论上这等同于计算汉明距离Hamming distance。如果不相同的数据位不超过5就说明两张图片很相似如果大于10就说明这是两张不同的图片。