图片自动调节亮度 C# CV2
时间: 2023-07-12 09:06:15
浏览: 106
在 C# 中,可以使用 OpenCV 库的 CV2 进行图片处理。要自动调节图片的亮度,可以使用以下代码:
```csharp
using OpenCvSharp;
// 读取图片
Mat img = Cv2.ImRead("image.jpg");
// 转换为灰度图像
Mat grayImg = new Mat();
Cv2.CvtColor(img, grayImg, ColorConversionCodes.BGR2GRAY);
// 计算图像亮度的平均值
Scalar mean = Cv2.Mean(grayImg);
// 计算[目标](https://geek.csdn.net/educolumn/06c7a9ffb1969a0ad080048a16f82c4e?spm=1055.2569.3001.10083)亮度值
double targetMean = 128;
double alpha = targetMean / mean.Val0;
// 调整亮度
Mat brightImg = new Mat();
img.ConvertTo(brightImg, -1, alpha, 0);
// [显示](https://geek.csdn.net/educolumn/103ca72607c717122e068b9f06a24df6?spm=1055.2569.3001.10083)结果
Cv2.ImShow("Original Image", img);
Cv2.ImShow("Brightened Image", brightImg);
Cv2.WaitKey(0);
Cv2.DestroyAll[window](https://geek.csdn.net/educolumn/03e5a5a554174a38fdfeb8376bd685e2?spm=1055.2569.3001.10083)s();
该代码首先读取一张图片,然后将其转换为灰度图像。接着,计算图像亮度的平均值,并根据[目标](https://geek.csdn.net/educolumn/06c7a9ffb1969a0ad080048a16f82c4e?spm=1055.2569.3001.10083)亮度值计算出调整亮度的参数 alpha。最后,使用 ConvertTo 方法调整图像亮度,并[显示](https://geek.csdn.net/educolumn/103ca72607c717122e068b9f06a24df6?spm=1055.2569.3001.10083)结果。
需要注意的是,该方法只能对整张图片进行亮度调整,无法针对特定区域进行调整。如果需要对特定区域进