繁体   English   中英

将2D Mat对象转换为1D数组

[英]Transform 2D Mat object into 1D array

我想将尺寸为100x100的mat对象m2转换为双行数组,如:

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;
    }
}

还有其他方法可以做到这一点,例如使用重塑吗?

你可以结合使用reshapeconvertTo函数来完成它:

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

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

如果您的原始矩阵已经是double的矩阵,则不需要使用convertTo。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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