Java中的OpenCV Mat如何表示两个元素的向量?
我在看Hough Transform的Opencv
Java文档。
返回值lines
的Mat
数据类型描述为:
线的输出向量。每行由一个二元素矢量(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