繁体   English   中英

如何在Open CV Java中将1D int数组的元素复制到MxN Mat?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM