比较图像中的两个对象

时间:2018-05-24 10:31:43

标签: android opencv image-processing opencv3.1

我需要比较两个图像以找到相等。我搜索了很多关于AR和openCV的内容。已经完成了compare two images in android和Tried OpenCV样本。使用OPENCV时,只有ORB可以免费使用,它会比较GrayScale中的图像,而不是我需要的图像。

P.S: - 需要我的应用程序中有4个对象的图像。因此,如果用户使用相机扫描真实物体,那么我需要弄清楚该扫描图像中的物体是否与这4个图像中的任何物体相匹配。我知道它偏离主题,而且根据SO标准也过于宽泛,但我真的需要帮助。

编辑: - 在尝试了一些来自github的algos后,我偶然发现This project。结果非常令人满意。我已经用几个模板测试了它。我被困在这里有一个问题。我需要向用户显示是否找到了对象(布尔值)。如果正确检测到对象,我该如何确定? 在下面添加一些最终步骤代码。

        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上搜索了大部分样本,但没有找到解决方案。 请告诉我应该采用哪种方法?

0 个答案:

没有答案