Ant*_*nio 5 java opencv image-processing
我正在查看Hough Transform的Opencv Java文档.
返回值lines
的Mat
数据类型描述为:
输出矢量线.每条线由两元素矢量(rho,theta)表示.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);
Run Code Online (Sandbox Code Playgroud)
...
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];
//...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1451 次 |
最近记录: |