求比较两幅图片是相似度的代码范例

发布于 2022-08-25 10:35:52 字数 65 浏览 7 评论 0

如题,如果有iOS客和Android客户端的示例代码,那是最好了。
如果只有服务端的也可以,参考着做。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灯下孤影 2022-09-01 10:35:52

感知哈希算法 - Perceptual hash algorithm

简单步骤:

  1. 第一步,缩小尺寸。
  2. 第二步,简化色彩。
  3. 第三步,计算平均值。
  4. 第四步,比较像素的灰度。
  5. 第五步,计算哈希值。

参考链接:相似图片搜索的原理 - 阮一峰 | 颜色分布法 和 内容特征法


ゝ杯具 2022-09-01 10:35:52

相似度这个东西很模糊啊。。。如果只是想实现一个简单的版本,我在stackoverflow找到一个很有意思的算法:

  1. 把两张图片缩小到某个较小的、相同的尺寸,例如64*64或32*32。缩小的时候每个像素的值是周围n个像素的值的函数,简单的话就用平均。
  2. 扩展颜色范围,让图片中颜色最深的为全黑,最浅的为全白
  3. 旋转/翻转图片,让图片四个角的像素从左上角开始顺时针递减排列。

然后再求两个图片每个点相似度的均值(相似度可以用差值、差值平方、或者根据位置再乘上权重什么的,弄些数据跑一下选择效果最好的)。

有意思的是,这个算法甚至还可以支持预先计算好一批图片,然后从数据库中查询相似的:

To look up a possible match in a database, store the pixel colors as individual columns in the database, index a bunch of them (but not all, unless you use a very small image), and do a query that uses a range for each pixel value, ie. every image where the pixel in the small image is between -5 and +5 of the image you want to look up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文