3

サイズが 100x100 のマット オブジェクト m2 を次のような 2 行配列に変換したいと思います。

double[] matrizvector=new double[10000];

int mm=0;
for (int nr=0; nr<100; nr++){ 
    for (int nc=0; nc<100; nc++){ 
        matrizvector[mm]=m2.get(nr,nc)[0];
        mm=mm+1;
    }
}

たとえば、reshapeを使用するなど、他の方法はありますか?

4

1 に答える 1

2

reshapeconvertTo関数の組み合わせでそれを行うことができます:

Mat reshaped = m2.reshape(1,1);
Mat reshapedInDouble;
reshaped.convertTo(reshapedInDouble, CV_64F);

double* matrixzvector = (double*)(reshapedInDouble.data);

元の行列が既に double の行列である場合は、convertTo を使用する必要はありません。

于 2012-12-03T15:09:56.173 に答える