本文参考何凯明大神的暗通道去雾算法《Single Image Haze Removal Using Dark Channel Prior》和一些相关的csdn上的博客,并附上自己编写的代码
采用暗通道先验去雾算法中模糊图像(有雾图像)模型被描述成:

I(x)是我们观察到的图像,即有雾的图像,J(x)是我们要恢复的图像,即去雾之后的图像,
A是全局大气光强,t是媒介传播系数。这个算法的目的就是从I、A、t中得到J。目前我们只知道I(x),需要求出A和t
在A和t之前,我们引入暗通道先验:
一个图像的暗通道可以表示为:

而无雾的图像,即我们要恢复的图像的暗通道数值趋于0

因此我们把这个先验条件带入模糊图像模型

我们可以得到:

由此我们得到了t,因为这样在视觉上看起来是不自然的,我们修正了这个公式:

其中w=0.95,最终在把t,带入模型,可以得到

以下是matlab代码:
求暗通道的部分:先求RGB三个通道的最小值,再进行最小值滤波
%% dark_channel
I1=zeros(m,n);
for i=1:m
for j=1:n
I1(i,j)=min(I(i,j

本文介绍了何凯明提出的暗通道去雾算法,通过解析模糊图像模型,利用暗通道先验来求解清晰图像。在Matlab中,作者实现了求暗通道和大气光强A的步骤,并提供了完整代码及效果图,读者可以下载资源进行进一步研究。
最低0.47元/天 解锁文章
2517

被折叠的 条评论
为什么被折叠?



