Android 向MatOfPoint2f添加点

Android 向MatOfPoint2f添加点,android,arrays,opencv,Android,Arrays,Opencv,我试图在opencv for android中为MatOfPoint2f添加点,但不确定哪种方法最有效。我正在考虑调用MatOfPoint2f.toArray(),然后将其添加到arraylist,然后添加元素,然后调用MatOfPoint2f.fromArray()。我曾尝试使用MatOfPoint2f方法put,但有时我会添加超出数组边界的元素,因此这将不起作用。我还尝试调用toList()方法并使用add方法,但它提供的列表无法添加或放置元素。我在mat中看到了将_推回的方法,我确信这也不

我试图在opencv for android中为MatOfPoint2f添加点,但不确定哪种方法最有效。我正在考虑调用MatOfPoint2f.toArray(),然后将其添加到arraylist,然后添加元素,然后调用MatOfPoint2f.fromArray()。我曾尝试使用MatOfPoint2f方法put,但有时我会添加超出数组边界的元素,因此这将不起作用。我还尝试调用toList()方法并使用add方法,但它提供的列表无法添加或放置元素。我在mat中看到了将_推回的方法,我确信这也不会起作用,因为它将元素添加到较低的行中,我相信所有的点都存储在第0行的列中


任何帮助都将不胜感激。

我通过使用linkedlist全局变量解决了这个问题,每当我需要添加或删除点时,我都在该linkedlist中执行,然后调用MatOfPoint.fromList()中的方法,该方法从列表中加载矩阵。它并不漂亮,但它做了我所需要的。

只是遇到了同样的问题,并且(我认为)得到了一个更好的答案。我有:

MatOfPoint2f allContours = new MatOfPoint2f();
MatOfPoint2f oneContour = new MatOfPoint2f();
一旦我在oneContour中有了一组值,我使用的是:

allContours.push_back(oneContour);

当你说加分时,你到底是什么意思?它们总是被添加到矩阵的底部吗?他们能去任何地方吗?如果在某处插入一个元素,那么之后的所有元素是否都需要移动到一个点上?插入的规则是什么?有些版本比其他版本容易得多。