如何在<MatofPoint> opencv 中将列表转换为垫子?



最近我正在使用OpenCV开发android应用程序。现在我遇到了一个问题:

Imgproc.findContours(grayMat, contours1, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);

在此函数之后,我想调用Imgproc.MatchShapes来检测2个图像是否匹配。但是在Java版本中,MatchShapes需要Mat类型的参数。
如何将List<MatOfPoint>转换为Mat?

用于检测轮廓的函数返回MatOfPoints列表。每个轮廓——因为可以有很多——都有自己的MatOfPoints

你必须找到一种方法来选择你想用Imgproc.MatchShapes的轮廓。如果您知道只有一个,那么就使用List<MatOfPoints>中的第一个条目。如果你想要最大的一个,使用一些轮廓属性来找到最大的轮廓。如果你有时间,你可以检查每一个轮廓。

然后,一旦你找到了你想比较的单个轮廓,你可以使用MatOfPoints。根据这个StackOverflow问题,它们是完全兼容的。

相关内容

  • 没有找到相关文章

最新更新