【发布时间】:2014-04-12 19:03:13
【问题描述】:
我有一个数据库,其中包含同一组图像的标清和高清版本。问题是他们的名字彼此不同。
例如,SD 中的花图像名称为 greatflower.png,而同一朵花的高清版本名称为 bestflower.png
挑战在于找到它们之间的相似之处。我尝试将图像的大小调整为相同的宽度和高度,然后逐个像素地比较它们,但结果并不准确。我只想在算法完成一对图像之间的比较后得到是或否的答案。
我的问题是哪个 java 库或算法将在图像的高清和标清版本之间执行完美的图像相似性分析?
谢谢大家的期待:)
【问题讨论】:
-
如果你有很多候选对象,在 Java 中检查位图中的每个像素可能会非常慢。检查纵横比是否相似。然后,我将从两个图像中提取 100 个点(从每个图像上等距的 10x10 网格)并比较它们。如果 RGB 值均在 10% 以内,则说两点“相同”。如果 90% 的点是“相同的”,则图像被认为是相同的。这远非万无一失,但计算上每个图像只需要 100 次查找。它可能会正常工作。将 10x10 更改为其他一些网格大小,以权衡性能与灵敏度。
-
谢谢一百万先生。您的建议对我来说确实有效:)
标签: image algorithm image-processing edge-detection