Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 比较图像中的两个对象_Android_Opencv_Image Processing_Opencv3.1 - Fatal编程技术网

Android 比较图像中的两个对象

Android 比较图像中的两个对象,android,opencv,image-processing,opencv3.1,Android,Opencv,Image Processing,Opencv3.1,我需要比较两幅图像来找出相等的结果。我搜索了很多关于AR和openCV的信息。已经通过并尝试了OpenCV示例。使用OPENCV时,ORB可以免费使用,它可以比较灰度图像,这不是我需要的 附言:-需要的是我在我的应用程序中有4个对象的图像。所以,如果用户使用相机扫描一个真实的物体,那么我需要找出这个扫描图像中的物体是否与这4幅图像中的任何物体匹配。我知道这是一个离题的话题,按照SO的标准也太宽泛了,但我真的需要这方面的帮助 编辑:-在尝试了github的一些算法后,我偶然发现。结果令人满意。我已

我需要比较两幅图像来找出相等的结果。我搜索了很多关于AR和openCV的信息。已经通过并尝试了OpenCV示例。使用OPENCV时,ORB可以免费使用,它可以比较灰度图像,这不是我需要的

附言:-需要的是我在我的应用程序中有4个对象的图像。所以,如果用户使用相机扫描一个真实的物体,那么我需要找出这个扫描图像中的物体是否与这4幅图像中的任何物体匹配。我知道这是一个离题的话题,按照SO的标准也太宽泛了,但我真的需要这方面的帮助

编辑:-在尝试了github的一些算法后,我偶然发现。结果令人满意。我已经用几个模板对它进行了测试。我被一个问题困住了。我需要向用户显示是否找到了对象(布尔值)。如何确定是否正确检测到对象? 下面是一些最后的步骤代码

        Point point1=new Point(sceneCorners.get(0,0));
        Point point2=new Point(sceneCorners.get(1,0));
        Point point3=new Point(sceneCorners.get(2,0));
        Point point4=new Point(sceneCorners.get(3,0));
        Imgproc.line(rgb, point1, point2, new Scalar(0, 255, 0), 4);
        Imgproc.line(rgb, point2, point3, new Scalar(0, 255, 0), 4);
        Imgproc.line(rgb, point3, point4, new Scalar(0, 255, 0), 4);
        Imgproc.line(rgb, point4,point1, new Scalar(0, 255, 0), 4);
每次检测都会发现2个点。如何确定它是否检测到该对象?一些我已经尝试过的东西:
1.检查由这些点形成的矩形:-这可能失败

解决此问题的推荐方法是什么。我在github上搜索了很多样本,但没有找到解决方案。
请让我知道我应该采用哪种方法

使用带有灰度的ORB有什么问题?如果您只需要知道扫描对象是否在这四幅图像中,您可以使用ORB(取决于图像的功能丰富程度)。或者你可以尝试使用模板匹配(带/不带窗口技术),我扫描一枚银币并将其与一枚金币进行比较?我想这会表明两者是相同的?在这种情况下,发布一些示例图像可能会有所帮助。如果你不能做到这一点,那么对图像的所有三个通道(R vs R,G vs G,B vs B)使用模板匹配,这肯定是一种过分的做法,因为如果是金币和银币,在找到匹配后,你可以比较颜色。问题是图像可以是任何刚性对象。所以我想我需要先从扫描的图像中去除背景,然后再进行比较。我说得对吗?你能提供一些在安卓系统中实现的链接吗?理想情况下你会这样做,但在没有看到图片的情况下,我不能说这是不是最好的方式,因此没有提供链接的意义。