c++ opencv4.6 6图片增强
时间: 2023-08-23 10:08:07 浏览: 108
图像增强是一种常见的图像处理技术,可以帮助我们改善图像的质量和可视化效果。在 C++ 和 OpenCV4.6 中,可以使用以下方法进行图像增强:
1. 直方图均衡化:通过将图像的像素值分布均匀化来增强图像的对比度和亮度。可以使用 OpenCV 的 equalizeHist 函数来实现。
```c++
Mat src_img = imread("input.jpg");
Mat dst_img;
cvtColor(src_img, src_img, COLOR_BGR2GRAY); // 转换为灰度图像
equalizeHist(src_img, dst_img); // 直方图均衡化
imshow("output", dst_img);
```
2. 对比度拉伸:通过线性拉伸图像的像素值范围来增强图像的对比度。可以使用 normalize 函数来实现。
```c++
Mat src_img = imread("input.jpg");
Mat dst_img;
cvtColor(src_img, src_img, COLOR_BGR2GRAY); // 转换为灰度图像
normalize(src_img, dst_img, 0, 255, NORM_MINMAX); // 对比度拉伸
imshow("output", dst_img);
```
3. 锐化:通过增强图像中的高频信息来增强图像的清晰度。可以使用 filter2D 函数来实现。
```c++
Mat src_img = imread("input.jpg");
Mat dst_img;
Mat kernel = (Mat_<char>(3,3) << 0,-1,0,-1,5,-1,0,-1,0); // 锐化卷积核
filter2D(src_img, dst_img, -1, kernel); // 锐化
imshow("output", dst_img);
```
以上是三种常见的图像增强方法,你可以根据需要进行选择和组合使用。
阅读全文