如何使用java比较图像的相似性
发布时间:2020-12-14 05:29:15 所属栏目: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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |