注意:这篇文章上次更新于2012天前,文章内容可能已经过时。
This article was last updated2012 days ago, the content may be outdated.
求大气散射模型中大气光的一种方法,这里记为V
成像模型:

A method for estimating the atmospheric light in the atmospheric scattering model, denoted as V here
Imaging model:

方法简介
求 V 的过程是一种垂直分层的搜索技术,主要有以下几个步骤:
-
分层操作。
分层并不是真的图像分层,而是用不同尺度的分割方式对图像进行分块计算特征。第 i 层把图像分为 块。

-
计算特征。
对每一层的每一块分别计算下面三个特征。
-
特征 1:
其中 表示仅使用 绿色和蓝色通道计算的暗通道图。 表示第 j 层 第 i 个区域的像素点个数。
-
特征 2 :
其中 代表 第 j 层 第 i 个区域的像素均值,I 为原图。
-
特征 3 :
其中 表示 第 j 层 第 i 个区域 的灰度图的梯度图。
-
-
计算均值。
对最后一层的每一个区域,分别计算覆盖该区域的所有层的均值。对每个特征都进行此计算,计算方式如图所示:

-
计算融合特征图。
对每一个特征按上述方式计算均值后即可得到 3 个特征图,对三个特征图进行归一化操作,再相加取均值得到最终特征图。
-
区域选择。
最终的区域选择为 特征图 F 上最小值所对应的区域,接下来在该区域原图的绿蓝暗通道图上选择最亮的像素,返回原图中该像素的 R G B 数值。
Method Overview
The process of estimating V is a vertical hierarchical search technique, which mainly consists of the following steps:
-
Layering operation.
Layering is not actual image layering; instead, the image is divided into blocks using segmentation at different scales to compute features. The i-th layer divides the image into blocks.

-
Computing features.
For each block of each layer, the following three features are computed.
-
Feature 1:
where denotes the dark channel image computed using only the green and blue channels, and denotes the number of pixels in the i-th region of the j-th layer.
-
Feature 2:
where represents the pixel mean of the i-th region of the j-th layer, and I is the original image.
-
Feature 3:
where denotes the gradient map of the grayscale image of the i-th region of the j-th layer.
-
-
Computing the mean.
For each region of the last layer, compute the mean over all layers covering that region. This is done for each feature, as shown in the figure:

-
Computing the fused feature map.
After computing the mean for each feature in the above way, three feature maps are obtained. The three feature maps are normalized, then added and averaged to obtain the final feature map.
-
Region selection.
The final region selection is the region corresponding to the minimum value on the feature map F. Next, the brightest pixel is selected on the green-blue dark channel image of the original image in that region, and the R G B values of that pixel in the original image are returned.
1 | function out = gb_dark_channel(input,x) |
1 | function out = f1(input) |
1 | function out = f2(input) |
1 | function out = f3(input) |
1 | function out = fen_ceng(input,J) |
1 | function [outputs] = Normalization(arg) |
1 | function out = tag(input,x,y,distx,disty) |
1 | function out = Veiling_light_estimation(input,str) |












