我试图将OpenCV C++程序“移植”到Java,但是语法完全不同。

我找不到Java OpenCV的等效项:

img_bw.at<uchar>(j,i);
boundingRect();
vector.push_back(Point(i,j)); // the Point part

另外,如何在 vector 中保留空间?

最佳答案

很难找到openCV C++代码的Java等效项。您只需要浏览互联网即可。其中很多已经在StackOverflow上了。

vector 本质上是一个矩阵。因此,Mat是看神的地方。 MatOfPoint应该是您的 vector 等效项,它只是带有点的矩阵。还有更多的MatOf类型的对象。

这段代码在语义上不是等效的(因为我不了解C++),但是可以让您知道从这里开始的方向:

mat.get(row, col); // returns pixel info as a double[]
Imgproc.boundingRect(matOfpoint); // returns a Rectangle that wraps the points in this matrix
matOfpoint.push_back(otherMatOfPoint); // pushes points from otherMatOfPoint to the matOfPoint matrix

09-12 18:13