无论如何将mat转换为opencv中的数组? (C ++) 我需要将矩阵(函数的输出)复制到指针指向的位置。 输出格式为Mat,指针为float。我该如何复制?
提前致谢
答案 0 :(得分: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;
}