[英]How to copy the elements of 1D int array to MxN Mat in Open CV java?
我是刚打开CV和android的新手。 我想将1D整数数组的元素复制到Mat上,以使Mat的第一行包含1D数组的所有元素,Mat的第二行应包含下一个1D int数组,依此类推。 因此,如果存在'M'个长度为'N'的一维int数组,则Mat应该为MXN。我们可以使用.put(int row,int col,int [] data)来做到这一点。 如果是这样,那又如何? 关于.put的公开CV文档不是很清楚。 http://docs.opencv.org/java/2.4.2/org/opencv/core/Mat.html
这是我的代码,
int[] features;
Mat trainingData = new Mat();
features = FindFeatures(mRgba.width(), mRgba.height(), yuv, rgba);
之后,我需要从功能Int数组填充我的trainingData,以便对于长度为'N'的'M'功能获得一个MX N的Mat。使用此MXN Mat,我将能够训练SVM。
如果我正确理解您的问题,则可以使用put方法: http : //docs.opencv.org/java/2.4.2/org/opencv/core/Mat.html#put(int,%20int,%20int [ ])
并最终得到如下所示的方法:
public void fillMatrinx(Mat matrix, int col, int row, int[][] data)
{
for(int i = 0; i < row; i++)
{
int n = 0;
for(int j = 0; j < col; j++)
{
matrix.put(i,j,data[i][n]);
n++;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.