2

无论如何在opencv中将Mat转换为数组?(c++) 我需要将一个矩阵(它是函数的输出)复制到指针指向的位置。输出格式为 Mat,指针为 float。我该如何复制它?

提前致谢

4

1 回答 1

2

Mat 也是类覆盖的二维数组。如果您需要其中的数据,可以使用 Mat::at(int x, int y) 方法访问它。或复制原始数据:

cv::Mat matrix;
float *new_data = new float[matrix.rows*matrix.cols];
float *p = new_data;
for(int i  = 0; i < matrix.rows; i++){
    memcpy(p, matrix.ptr(i), matrix.cols*sizeof(float));
    p += matrix.cols;
}
于 2013-09-20T12:26:18.107 回答