在OpenCV C++ API中,我们将图像类型从CV_8UC1
转换为CV_32FC1
的方法是:
r1.convertTo(r1, CV_32FC1, 1.0/255.0);
其中,r1
是声明为cv::Mat
的矩阵。
有人能告诉我如何在OpenCV中使用C API将类型从CV_8UC1
转换为CV_32FC1
?如果r2
是描述为CvMat* r2
的矩阵。
在OpenCV C++ API中,我们将图像类型从CV_8UC1
转换为CV_32FC1
的方法是:
r1.convertTo(r1, CV_32FC1, 1.0/255.0);
其中,r1
是声明为cv::Mat
的矩阵。
有人能告诉我如何在OpenCV中使用C API将类型从CV_8UC1
转换为CV_32FC1
?如果r2
是描述为CvMat* r2
的矩阵。
cvConvertScale()可以实现你想要的功能。
假设你有一个类型为8UC1的cvMat * r1和一个类型为32FC1且大小相同的cvMat * r2,则
cvConvertScale(r1, r2, 1.0 / 255.0, 0.0);
由于目标类型是从r2中获取的,所以它不能是与r1相同的cvMat。
cvConvertScale()
不适用于 cv::Mat。实际上,问题是关于如何处理 cv::Mat 的。 - Bull