如何在Java中比较两个图像?

如何在Java中比较两个图像?,java,image-processing,Java,Image Processing,我在程序中默认有5个图像,我将允许用户从桌面选择一个图像。程序将确定5个图像中最接近用户图像的图像 有谁能帮我开始这个想法吗?你可以尝试使用诸如等特征提取算法,然后将提取的特征与数据库进行比较。您可以根据正确匹配的数量选择最佳匹配图像 通常,对于2D对象,例如标签或广告牌的图片,SIFT可以很好地工作。如果使用SIFT,在二维平面或比例上的旋转将无关紧要。冲浪应该是SIFT的一个改进,但我没有太多的经验 据说这些算法有点重。无论如何,如果你只匹配了5幅图像,这不会有多大问题。(或者你可以简单地计

我在程序中默认有5个图像,我将允许用户从桌面选择一个图像。程序将确定5个图像中最接近用户图像的图像


有谁能帮我开始这个想法吗?

你可以尝试使用诸如等特征提取算法,然后将提取的特征与数据库进行比较。您可以根据正确匹配的数量选择最佳匹配图像

通常,对于2D对象,例如标签或广告牌的图片,SIFT可以很好地工作。如果使用SIFT,在二维平面或比例上的旋转将无关紧要。冲浪应该是SIFT的一个改进,但我没有太多的经验


据说这些算法有点重。无论如何,如果你只匹配了5幅图像,这不会有多大问题。(或者你可以简单地计算图像的描述符(特征)并存储它们。然后在运行时,你所要做的就是获取用户图像的描述符并进行比较)但是如果你试图匹配基本形状(如正方形和圆形)的图像,使用方形检测或圆形检测在性能方面可能是有效的

您可以尝试使用诸如等特征提取算法,然后将提取的特征与数据库进行比较。您可以根据正确匹配的数量选择最佳匹配图像

通常,对于2D对象,例如标签或广告牌的图片,SIFT可以很好地工作。如果使用SIFT,在二维平面或比例上的旋转将无关紧要。冲浪应该是SIFT的一个改进,但我没有太多的经验


据说这些算法有点重。无论如何,如果你只匹配了5幅图像,这不会有多大问题。(或者你可以简单地计算图像的描述符(特征)并存储它们。然后在运行时,你所要做的就是获取用户图像的描述符并进行比较)但是如果你试图匹配基本形状(如正方形和圆形)的图像,使用方形检测或圆形检测在性能方面可能是有效的

您必须更好地描述您的约束。图像旋转90度是否“关闭”?下面是一篇关于TinEye如何工作的文章。尽管如此,您可以修改一些步骤,因为您没有与成千上万的图像进行比较。您必须更好地描述您的约束。图像旋转90度是否“关闭”?下面是一篇关于TinEye如何工作的文章。尽管如此,您可以修改一些步骤,因为您没有与成千上万的图像进行比较。