opencv 从CV_32FC3转到CV_8U
时间: 2023-07-08 14:40:35 浏览: 118
利用OpenCV中对图像数据进行64F和8U转换的方式
将CV_32FC3转换为CV_8U需要进行如下步骤:
1. 将图像中的每个像素值进行缩放,使其范围在0到255之间,可以使用normalize函数实现。
2. 将像素值从浮点型转换为整型,可以使用cv::convertScaleAbs实现。
3. 将图像类型从CV_32FC3转换为CV_8U,可以使用cv::cvtColor实现。
下面是示例代码:
```
cv::Mat src = cv::imread("input.jpg", cv::IMREAD_UNCHANGED);
cv::Mat dst;
// 将像素值缩放到0到255之间
cv::normalize(src, dst, 0, 255, cv::NORM_MINMAX, CV_8U);
// 将像素值从浮点型转换为整型
cv::convertScaleAbs(dst, dst);
// 将图像类型从CV_32FC3转换为CV_8U
cv::cvtColor(dst, dst, cv::COLOR_BGR2GRAY);
```
阅读全文