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

在Java中,如何在OpenCV Mat中表示两个元素向量?,java,opencv,image-processing,Java,Opencv,Image Processing,我在看 返回值行位于Mat数据类型中,描述如下: 线的输出向量。每行由两个元素表示 向量(ρ,θ)。rho是距坐标原点的距离 (0,0)(图像的左上角)。θ是线的旋转角度 以弧度为单位(0~垂直线,pi/2~水平线) 奇怪的是,这个描述匹配,但数据类型不:在C++中,可以使用 STD::向量行< /C> >。在C++中,返回的数据表示,给出了描述,是直接的,但是在java中没有。 那么,在Java中,两元素向量如何表示/存储在返回的Mat中呢?这是我刚才在2.4.8版中使用的一些代码matLin

我在看

返回值
位于
Mat
数据类型中,描述如下:

线的输出向量。每行由两个元素表示 向量(ρ,θ)。rho是距坐标原点的距离 (0,0)(图像的左上角)。θ是线的旋转角度 以弧度为单位(0~垂直线,pi/2~水平线)

奇怪的是,这个描述匹配,<强>但数据类型不:在C++中,可以使用<代码> STD::向量行< /C> >。在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()};
对于(int x=0;x
谢谢!我其实不是那个需要帮助的人,让我们看看作者是怎么说的……我已经冒昧地重写了循环,以避免循环中不必要的内存分配;对于大型图片,这可能是一个真正的资源猪。
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];
   //...
}