使用C++版opencv,如何给图像设置统一的亮度和对比度
时间: 2023-12-27 21:02:25 浏览: 124
OpenCV实现图像对比度、亮度值调整(C++实现).zip
要给图像设置统一的亮度和对比度,可以使用以下代码:
```c++
cv::Mat image = cv::imread("image.jpg");
double alpha = 1.5; // 对比度增益
int beta = 50; // 亮度增益
cv::Mat new_image = cv::Mat::zeros(image.size(), image.type());
// 应用亮度和对比度调整
image.convertTo(new_image, -1, alpha, beta);
```
在上面的代码中,我们首先读取了一张图像,然后设置了对比度增益和亮度增益。接着我们创建了一个新的图像 `new_image`,并且使用 `convertTo` 函数将像素值转换为指定的数据类型,同时应用亮度和对比度的调整。
注意,上述代码中的 `convertTo` 函数第一个参数指定了输出图像的数据类型,如果需要输出灰度图像,可以将其设置为 `CV_8UC1`。第二个参数指定了输出图像的通道数,如果输入图像是灰度图像,可以将其设置为 `-1`。
阅读全文