OpenCV中CV_8UC1到CV_32FC1的转换

时间:2013-07-19 12:14:54

标签: c++ c opencv image-processing

我们使用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的矩阵。

1 个答案:

答案 0 :(得分:5)

cvConvertScale()可以做你想做的事。

假设你有一个类型为8UC1的cvMat * r1和一个类型为32FC1且大小相同的cvMat * r2,那么

cvConvertScale(r1, r2, 1.0 / 255.0, 0.0);

由于目的地类型取自r2,因此它不能与r1相同的cvMat。