c++opencv求图像某个区域对比度函数
时间: 2023-08-01 19:11:55 浏览: 136
基于OPenCV实现图像处理各种常用算法(C++)
OpenCV中可以使用cv::Mat的convertTo()函数来改变图像的对比度。该函数可以接受两个参数:目标Mat对象的类型和比例因子。比例因子是一个浮点数,用于控制对比度的变化。如果该值大于1,则增加对比度,如果该值小于1,则降低对比度。
下面是一个示例代码,该代码将图像的某个区域的对比度增加了一倍:
```c++
cv::Mat img = cv::imread("image.jpg");
cv::Mat roi = img(cv::Rect(100, 100, 200, 200)); //获取图像的某个区域
double alpha = 2.0; //比例因子
double beta = 0.0; //偏移量
roi.convertTo(roi, -1, alpha, beta); //将区域的对比度增加一倍
cv::imshow("image", img);
cv::waitKey(0);
```
在上面的示例代码中,我们首先读取了一张图像,然后使用cv::Rect函数获取了图像的某个区域。接着,我们定义了一个比例因子alpha为2.0,表示将对比度增加一倍。最后,我们使用convertTo()函数将该区域的对比度增加了一倍,然后显示了结果图像。
阅读全文