标签: java android opencv
我想将尺寸为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; } }
还有其他办法吗,例如使用重塑?
答案 0 :(得分:2)
您可以使用reshape和convertTo函数的组合来完成此操作:
Mat reshaped = m2.reshape(1,1); Mat reshapedInDouble; reshaped.convertTo(reshapedInDouble, CV_64F); double* matrixzvector = (double*)(reshapedInDouble.data);
如果原始矩阵已经是double的矩阵,则不需要使用convertTo。