我们使用C ++ API在OpenCV中将图像类型从CV_8UC1
转换为CV_32FC1
的方式是
r1.convertTo(r1, CV_32FC1, 1.0/255.0);
其中r1
是声明为cv::Mat
的矩阵。
有人可以告诉我如何使用C API在OpenCV中将CV_8UC1
转换为CV_32FC1
类型吗?如果r2
是一个描述为CvMat* r2
的矩阵。
答案 0 :(得分:5)
cvConvertScale()可以做你想做的事。
假设你有一个类型为8UC1的cvMat * r1和一个类型为32FC1且大小相同的cvMat * r2,那么
cvConvertScale(r1, r2, 1.0 / 255.0, 0.0);
由于目的地类型取自r2,因此它不能与r1相同的cvMat。