Python图像处理丨详解图像去雾处理方法( 七 )

 
实现效果如下图所示:

Python图像处理丨详解图像去雾处理方法

文章插图
 
如果想和后续目标汽车检测结合,同样可以先去雾再进行检测,如下图所示:
Python图像处理丨详解图像去雾处理方法

文章插图
 
四.图像噪声和雾生成
图像处理总少不了噪声添加或生成,下面补充两个简单的椒盐噪声和雾气模拟生成的代码 。这与本文的实验紧密相关,能为我们提供更多的GAN生成样本 。后面人工智能系列文章,GAN我们看看能不能学习真实雾化场景的图像,值得期待,哈哈!
1.加盐噪声
原图是一张风景图像:
Python图像处理丨详解图像去雾处理方法

文章插图
 
代码如下:
# -*- coding:utf-8 -*- import cv2 import numpy as np #读取图片 img = cv2.imread("fj.png", cv2.IMREAD_UNCHANGED) rows, cols, chn = img.shape #加噪声 for i in range(50000): x = np.random.randint(0, rows) y = np.random.randint(0, cols) img[x,y,:] = 210 cv2.imshow("noise", img) #等待显示 cv2.waitKey(0) cv2.destroyAllwindows() cv2.imwrite('fj-res.png',img)
输出结果如下图所示:
Python图像处理丨详解图像去雾处理方法

文章插图
 
2.雾的模拟生成
代码如下:
import numpy as np import cv2 as cv import os import random file = ['fj.png'] output = 'fj-wu.png' for file_img in file: #打开图像 img = cv.imread(file_img) mask_img = cv.imread(file_img) #雾的颜色 mask_img[:, :] = (166, 178, 180) #里面参数可调,主要调整雾的浓度 image = cv.addWeighted(img, round(random.uniform(0.03, 0.28), 2), mask_img, 1, 0) #保存的文件夹 cv.imwrite(output, image)
输出结果如下图所示,效果还不错 。
Python图像处理丨详解图像去雾处理方法

文章插图
 
Python图像处理丨详解图像去雾处理方法

文章插图




推荐阅读