opencv c++convertTo
时间: 2023-11-30 21:42:46 浏览: 51
`convertTo()`是OpenCV C++中的一个像素转换函数,可以用于将图像从一种数据类型转换为另一种数据类型,同时还可以改变图像的对比度和亮度。该函数的语法如下:
```c++
void cv::Mat::convertTo(
OutputArray dst,
int dtype,
double alpha = 1,
double beta = 0
) const
```
其中,`dst`是输出的目标图像,`dtype`是目标图像的数据类型,`alpha`是乘法因子,`beta`是加法因子。具体来说,`dst`的数据类型由`dtype`指定,`alpha`和`beta`用于计算公式:`dst = src * alpha + beta`,其中`src`是原始图像。
下面是一个使用`convertTo()`函数改变图像对比度和亮度的例子:
```c++
Mat imgProc(Mat myImg, float contrast, int brightness) {
Mat imgSrc = myImg;
Mat imgDst = Mat::zeros(imgSrc.size(), imgSrc.type());
imgSrc.convertTo(imgDst, -1, contrast, brightness);
return imgDst;
}
```
该函数接受一个原始图像`myImg`,以及一个浮点数`contrast`和一个整数`brightness`,分别表示对比度和亮度的调整值。函数内部首先将原始图像`myImg`赋值给`imgSrc`,然后生成一个与`imgSrc`大小和类型相同的零像素矩阵`imgDst`,最后使用`convertTo()`函数将`imgSrc`转换为`imgDst`,并将结果返回。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)