跳转到内容

如何使用pHash自动识别相似图像

今日照片很容易编辑,方法包括重定位、裁剪、调整对比度或修改图像格式产生新图像与原创图像相似网站、网络应用和移动应用允许用户生成内容上传可受益于识别相似图像

网站允许用户上传图片时,他们也可以上传各种处理或变换同映像片版本如上所述,虽然版本不完全相同,但相当相似。

很明显,在单页显示多张不同图像并避免显示相似图像是良好实践旅游网站可能想显示酒店房间的不同图像,但避免在同一页上有相似房间图像。

此外,如果网络应用处理多上传图像,你可能想自动识别新上传图像类似于上传图像识别相似图像可防止重复图像上传后使用,从而使你能够更好地整理网站内容网络应用越能辨识上传相似图像 越多复制图像将不再是问题

相仿图像将不再是事物,因为上传时相似图像将被识别

云化使用感知hash表示图像指纹数学算法分析图像内容并使用64位数指纹表示two mage'spHash值相近通过比较两个图像指纹,你可以看到它们相似性

或使用云端上传API,或使用我们管理员API在媒体库中前传图像可简单设置法什参数切换真实性产生图像pHash值图像相似性算法超强易用取下示例

使用下图例原创koala图片

下图代码样本Ruby显示如何上传该图像并请求pHash值

        Cloudinary::Uploader.upload(kala1.jpg..公共标识=>科拉1..法什=>真实性)代码语言JavaScript高山市javascript)

下结果显示返回响应并计算pHash值

{{公共标识:科拉1,变换:14242614,宽度:887,位高:562,格式化:Jpg,异想天开:"6f821ea4478af3e3a183721c0755cb1b".法什:"ba19c8ab5fa05a59"}代码语言JavaScript高山市javascript)

下示例显示多相似图像和pHash值比较pHash值并查找相间距离whash二值并计算结果中的1值,0-64间取值越低值图像越相似全部64比特都相同 相片非常相似

相似性评分下示例表示每一图像与原图像相似评分计算1-(phash_距离-phash1-phash2/64.0)令结果介于0.5至1之间(可使用phash-距离计算Bit_count(phash1+++++2)MySQL实例)

原创koala缩略图887x562JPEG,180KB
PHash:ba19c8ab5fa05a59

灰度koala887x562JPEG,149KB
差分 :灰度
PHash:ba19caab5f205a59
相似度评分 :0.96875

裁剪koala照片加饱和797x562JPEG,179KB
差分 :裁剪加色饱和
PHash:ba3dcfabbc004a49
相似度评分 :0.78125

裁剪koala照片低质量JPEG887x509JPEG30.6KB
差分 :裁剪低JPEG质量
PHash:1b39ccea7d304a59
相似度评分 :0.8125

另拍koala相片1000x667JPEG,608KB
差分 :不同的koala相片
PHash:3d419c23c42eb3db
相似度评分 :0.5625

非coala图片1000x688JPEG569KB
差分 :非考拉语
PHash:f10773f1cd269246
相似度评分 :0.5

V级

从以上结果中可以看出,这三张图像似乎与原创相近,在比较时得高分。对比结果显示相似度大为下降

通过使用云化上传用户照片到网站或程序上, 可请求上传图像pHash值并存储到服务器上允许识别相似图像并判定下一步应是什么建立图像匹配型应用会容易得多或允许用户交互选择要保留哪些图像

特征供任意使用云化计划中包括免费级如上所解释,可使用云端API获取图像指纹并开始检查相似性此外,我们的行进图中是要进一步加强我们相似图像搜索和反重复能力

回顶

特征邮箱

Baidu
map