首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -图像识别

Java -图像识别
EN

Stack Overflow用户
提问于 2014-04-25 07:20:58
回答 2查看 35K关注 0票数 5

我有大约5000个图像上有水印和5000个相同的图像没有水印。每组图像的文件名不以任何方式相互关联。我正在寻找一个API在Java中,最好是我可以用来配对每个水印图像与其非水印对。

EN

回答 2

Stack Overflow用户

发布于 2014-04-25 07:27:27

您可以使用OpenCV库。它可以在Java中使用。请关注http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html

关于图像比较,你可以在这里看到另一个有用的答案:Checking images for similarity with OpenCV

票数 6
EN

Stack Overflow用户

发布于 2015-04-09 23:10:10

我认为这更多的是关于性能,而不是关于图像比较本身,答案是这样写的,所以如果你需要帮助比较本身,请评论我…

每个图像的

  1. create简化直方图

假设每个通道有8个值,每个强度等级限制为4位。这将导致每个图像的3*8*4=3*32位数

  1. sort图像

取上面的直方图,并将其视为单个数字,并按其对A图像分组进行排序,无论是升序还是降序

  1. matching A B 和分组图像

现在对应的图像应该有相似的直方图,所以从未排序的组B (带水印的)中获取图像,并在组(原始)中搜索所有最接近的匹配项,然后仅针对选定的图像而不是5000.,使用更健壮的方法进行更多比较

如果来自 A 组的图像已与匹配,则为标志

因此,您可以忽略bullet #3中已匹配的图像,以获得更快的

笔记

还有其他方法可以改进,比如使用Perceptual hash algorithms

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23281582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档