如何使用java比较图像的相似性

前端之家收集整理的这篇文章主要介绍了如何使用java比较图像的相似性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我有机会与图像处理技术合作,作为我的一个项目的一部分,我的任务是在给出新的图像时从图像存储中找到匹配的图像.我开始我的项目与谷歌搜索“如何比较图像使用 java”,我得到了一些很好的文章,找到两个图像的相似性.几乎所有这些都是基于四个基本步骤,它们是:
1.Locating the Region of Interest (Where the Objects appear in the given image),2.Re-sizing the ROIs in to a common size,3.Substracting ROIs,4.Calculating the Black and White Ratio of the resultant image after subtraction.

虽然这听起来像是比较图像的一个很好的算法,但在我的项目中使用JAI实现之后需要相当长的时间.因此,我必须找到一种替代方法.

有什么建议么?

解决方法

根据图像的不同,您可以这样做(伪代码).这是非常原始的,但应该很有效率.您可以通过随机或图案化的像素而不是每个像素来加快速度.
for x = 0 to image.size:
    for y = 0 to image.size:
        diff += abs(image1.get(x,y).red - image2.get(x,y).red)
        diff += abs(image1.get(x,y).blue - image2.get(x,y).blue)
        diff += abs(image1.get(x,y).green - image2.get(x,y).green)
    end
end

return ((float)(diff)) / ( x * y * 3)
原文链接:https://www.f2er.com/java/122378.html

猜你在找的Java相关文章