convertTo()
时间: 2023-11-19 14:05:05 浏览: 84
convert
convertTo()是OpenCV库中的一个函数,用于将图像的数据类型转换为其他类型。该函数可以用于改变图像的深度、通道数以及像素值的范围。
函数原型如下:
```cpp
void cv::convertTo(InputArray src, OutputArray dst, int dtype, double alpha=1, double beta=0)
```
其中,参数含义如下:
- src: 输入图像。
- dst: 输出图像,用于存储转换后的图像数据。
- dtype: 目标图像的数据类型,可以使用cv::Mat中定义的数据类型,如CV_8U、CV_32F等。
- alpha: 缩放因子,用于对像素值进行线性变换。
- beta: 偏移量,用于对像素值进行线性变换。
convertTo()函数常用于以下场景:
- 改变图像的深度或通道数。
- 调整图像的亮度和对比度。
- 归一化图像的像素值范围。
示例代码:
```cpp
cv::Mat srcImage = cv::imread("input.jpg", cv::IMREAD_COLOR);
cv::Mat dstImage;
srcImage.convertTo(dstImage, CV_32F, 1.0/255.0); // 将输入图像转换为32位浮点型,并将像素值范围归一化到[0, 1]
```
通过convertTo()函数,我们可以方便地改变图像的数据类型和像素值范围,以满足不同的图像处理需求。
阅读全文