AI科技大本营|Python 还能实现图片去雾?FFA 去雾算法、暗通道去雾算法用起来! | 附代码( 四 )
a= cov_Ip / (var_I + eps)
b= m_p - a * m_I
m_a = cv2.boxFilter(a, -1, (r, r))
m_b = cv2.boxFilter(b, -1, (r, r))
returnm_a * I + m_b
defgetV1(m, r, eps, w, maxV1): # 输入rgb图像 , 值范围[0,1]
'''计算大气遮罩图像V1和光照值A, V1 = 1-t/A'''
V1 = np.min(m, 2) # 得到暗通道图像
V1 = guidedfilter(V1, zmMinFilterGray(V1, 7), r, eps) # 使用引导滤波优化
bins = 2000
ht = np.histogram(V1, bins) # 计算大气光照A
d= np.cumsum(ht[ 0]) / float(V1.size)
forlmax inrange(bins - 1, 0, -1):
ifd[lmax] <= 0.999:
break
A= np.mean(m, 2)[V1 >= ht[ 1][lmax]].max
V1 = np.minimum(V1 * w, maxV1) # 对值范围进行限制
returnV1, A
defdeHaze(m, r= 81, eps= 0.001, w= 0.95,maxV1= 0.80, bGamma=False) :
Y= np.zeros(m.shape)
V1, A = getV1(m, r, eps, w, maxV1) # 得到遮罩图像和大气光照
fork inrange( 3):
Y[:, :, k] = (m[:, :, k] - V1) / ( 1- V1 / A) # 颜色校正
Y= np.clip(Y, 0, 1)
ifbGamma:
Y = Y ** (np.log( 0.5) / np.log(Y.mean)) # gamma校正,默认不进行该操作
returnY
video = "1.mp4"
cap = cv2.VideoCapture(video)
whilecap.isOpened:
_,frame = cap.read
frame = cv2.flip(frame, -180)
cv2.imwrite( "temp.jpg",frame)
m= deHaze(frame / 255.0) * 255
height, width = m.shape[: 2]
#缩小图像
size = (int(width * 0.5), int(height * 0.5))
shrink = cv2.resize(m, size, interpolation=cv2.INTER_AREA)
cv2.imwrite( 'defog.jpg', shrink)
img = cv2.imread( "defog.jpg")
cv2.imshow( "frame",img)
key = cv2.waitKey( 1) & 0xFF
ifkey == ord( "q"):
break
cap.release
cv2.destroyAllWindows
作者介绍:
李秋键 , CSDN 博客专家 , CSDN达人课作者 。 硕士在读于中国矿业大学 , 开发有taptap安卓武侠游戏一部 , vip视频解析 , 文意转换工具 , 写作机器人等项目 , 发表论文若干 , 多次高数竞赛获奖等等 。
源码GitHub地址:
https://github.com/zhilin007/FFA-Net
推荐阅读
- 趣头条|颜值与动力共存,科技与豪华同在,瑞虎7就是一款性能全面的车
- 科技小新迷|2020年迎来了动力电池报废的高峰期,很多人后悔买新能源汽车
- 科技每天报告|应急车道换车胎被扣12分?车主冤枉,老司机:这些常识不懂该扣
- 海尔|海尔3D除菌舱科技对用户有啥好处?空调干净、空气更干净
- 对开门|颜值、保鲜、容量一个都不能少,十字对开门冰箱怎么选?
- 大佛|大佛无恙 古人智慧和现代科技留下伏笔
- |VV7科技版:我不是针对谁,最智能豪华自主品牌SUV正是在下
- DeepTech深科技|不吃药也能控制HIV复制?“精英控制者”罕见防御力之谜有解
- G时尚|赵丽颖快乐大本营预告照片,一身牛仔套装元气满满
- 车壹号|实力不允许RS-5低调!10万多,有30万豪华体验,领先科技