写一段代码实现图像去雾
时间: 2023-04-01 14:02:30 浏览: 79
以下是一段基于暗通道先验的图像去雾代码:
#include <opencv2/opencv.hpp>
using namespace cv;
Mat dehaze(Mat img, double w = .95, int r = 15)
{
Mat gray, dark, min_dark, t, t_clipped, J;
cvtColor(img, gray, COLOR_BGR2GRAY);
minMaxLoc(gray, NULL, NULL, NULL, &dark);
dark.convertTo(dark, CV_32F);
min_dark = min(dark, r);
t = 1 - w * dark / min_dark;
t_clipped = max(t, .1);
cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(15, 15));
cv::Mat t_filtered;
cv::morphologyEx(t_clipped, t_filtered, cv::MORPH_CLOSE, kernel);
J = (img - 255 * (1 - t_filtered)) / t_filtered;
return J;
}
int main()
{
Mat img = imread("input.jpg");
Mat dehazed = dehaze(img);
imshow("Input", img);
imshow("Dehazed", dehazed);
waitKey();
return ;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)