OpenCV如何在JAVA中用2D数组初始化Mat

Rab*_*bir 4 opencv multidimensional-array mat

假设我有一个用值初始化的 2D 数组,如何将该值放入 OpenCV 中的 Mat 对象中?

rad*_*hoo 5

也许这样的事情会起作用:

float trainingData[][] = new float[][]{ new float[]{501, 10}, new float[]{255, 10}, new float[]{501, 255}, new float[]{10, 501} };
Mat trainingDataMat = new Mat(4, 2, CvType.CV_32FC1);//HxW 4x2
for (int i=0;i<4;i++)
        trainingDataMat.put(i,0, trainingData[i]);
Run Code Online (Sandbox Code Playgroud)

代码是不言自明的:您在“TrainingData”数组中拥有数据,并分配新的 Mat 对象。然后使用“put”方法将行推入到位。