Java中的OpenCV Mat如何表示两个元素的向量?

我在看Hough Transform的Opencv

Java文档。

返回值linesMat数据类型描述为:

线的输出向量。每行由一个二元素矢量(rho,θ)表示。rho是距坐标原点(0,0)(图像的左上角)的距离。theta是弧度的直线旋转角度(0〜垂直线,pi

/ 2〜水平线)。

奇怪的是,此描述与C

++接口的描述匹配,

数据类型与之不匹配:在C 中,您可以std::vector<cv::Vec2f>

lines按照本教程中的描述使用a 。在C

中,给出的描述返回的数据表示很简单,而在Java中则不是。

那么,在Java中,如何在返回的Mat中表示/存储两个元素的向量?

回答:

这是我之前在2.4.8版本中使用的一些代码。matLines来自这个:

Imgproc.HoughLinesP(matOutline, matLines, 1, Math.PI / 180, houghThreshCurrent, houghMinLength, houghMaxGap);

Point[] points = new Point[]{ new Point(), new Point() };

for (int x = 0; x < matLines.cols(); x++) {

double[] vec = matLines.get(0, x);

points[0].x = vec[0];

points[0].y = vec[1];

points[1].x = vec[2];

points[1].y = vec[3];

//...

}

以上是 Java中的OpenCV Mat如何表示两个元素的向量? 的全部内容, 来源链接: utcz.com/qa/408635.html

回到顶部