c++opencv—图像增强并图像去噪
时间: 2023-07-19 16:45:37 浏览: 268
好的,针对你的问题,我可以给出以下代码示例来实现图像增强并去噪:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 读取图片
Mat image = imread("test.jpg");
if (image.empty())
{
cout << "Could not open or find the image" << endl;
return -1;
}
// 显示原始图片
imshow("Original Image", image);
// 应用CLAHE算法对图片进行直方图均衡化
Ptr<CLAHE> clahe = createCLAHE();
clahe->setClipLimit(4);
Mat equalized_image;
clahe->apply(image, equalized_image);
// 显示直方图均衡化后的图片
imshow("Equalized Image", equalized_image);
// 应用双边滤波器对图片进行去噪
Mat denoised_image;
bilateralFilter(equalized_image, denoised_image, 15, 75, 75);
// 显示处理后的图片
imshow("Denoised Image", denoised_image);
waitKey(0);
return 0;
}
```
在这个示例中,我们首先读取一张图片,并显示原始图片。然后,我们应用CLAHE(对比度受限的自适应直方图均衡化)算法对图片进行直方图均衡化,从而增强图片的对比度。接着,我们应用双边滤波器对处理后的图片进行去噪。最后,我们显示处理后的图片。这样就实现了图像增强并去噪的效果。
阅读全文