1 Introduction

In the case of bad weather, the visibility of outdoor images is typically low, resulting in reduced irradiance obtained by the image acquisition system at the scene location. The reflected light from an object mixes with atmospheric light scattered by aerosols (such as dust and water droplets) before reaching the camera, resulting in increased image brightness and reduced contrast. Therefore, improving image quality and enhancing system robustness are important for computer vision systems (Woodell et al. 2006).

Currently, many dehazing methods have been proposed, which is mainly divided into two categories: image enhancement based methods and image restoration based methods.

Image enhancement based methods include histogram equalization (Xu et al. 2014), Retinex method (Cooper and Baqai 2004), and wavelet transformation (Dippel et al. 2002). These methods do not take the cause of image degradation into consideration, but satisfy the human visual perception by directly enhancing the overall contrast. Image restoration based dehazing methods takes the image degradation and the imaging mechanism into account. Then recovered the scene by the inverse transformation. In image restoration based dehazing methods, the physical model of the degraded images is the basis, and many researchers use it for image restoration.

Recently, great progress has been made in image dehazing base on additional priors or assumptions. Tan (2008) proposed a method based on the prior that haze-free image has higher contrast than haze image. By maximizing the local contrast, the visibility of the haze image is increased. However, block artifacts may appear in depth discontinuous region of the restored image, and the image is over-saturated. He et al. (2011) presented an effective image prior—dark channel prior. Such prior is based on the statistical observation of outdoor haze-free images that most local non-sky patches in haze-free image possess some low-intensity pixels in at least one color channel. However, this prior is invalid when scene brightness is similar to atmospheric light. Meng et al. (2014) presented a dehazing method of detecting the inherent boundary constraint and contextual regularization. Zhu et al. (2015) presented a color attenuation prior, train the depth information about the haze image by building a linear model. This approach employs a supervised learning method to obtain a depth map, thereby making it easy to process haze images. More recently, a dehazing method based on deep learning has been proposed (Santra et al. 2018, Song et al. 2018), which use deep neural networks for better haze-related features extraction and transmission estimation.

In our method, we propose a visibility recovery method based on the original color correction strategy, linear transformation model, and classical dehazing model. The contributions of this paper are mainly divided into two parts.

  1. (1)

    For color cast problems of dust haze images, the proposed optical compensation method can circumvent the color distortion phenomenon by converting dust haze images into haze images.

  2. (2)

    Next, Gaussian adaptive transmission includes two main processes of constructing Gaussian functions and adaptive coefficients. Adaptive coefficient correction is used to optimize the transmission in the sky region.

The rest of this paper is organized as follows. In Sect. 2, the dark channel prior for image dehazing is briefly reviewed. The method we propose is described in Sect. 3. In Sect. 4, we present and analyze the experimental results. Finally, the conclusions are given in Sect. 5.

2 Dark channel prior

The atmospheric scattering model (McCartney 1976) is widely used in computer vision field and various image dehazing operations. The model can be expressed as follows

$$ I(x) = J(x)t(x) + A(1 - t(x)) $$
(1)

where \( x \) is the image pixel position, \( I(x) \) represent haze image, \( J(x) \) represent the haze-free image, Atmospheric light value \( A \) is used to describe the ambient light in the scene, \( t(x) \) is the medium transmission. Since \( I(x) \) is known, the way of dehazing is to get \( A \) and \( t(x) \), then recover \( J(x) \) according to Eq. (1).

$$ t(x) = e^{ - \beta d(x)} $$
(2)

where \( \beta \) is the scattering coefficient of the atmosphere, \( d(x) \) is the depth of field. This equation shows that the transmission \( t(x) \) decays exponentially with depth.

The algorithm of He et al. (2011) has achieved better dehazing effect, the definition of the dark channel is as follows

$$ I^{\text{dark}} (x) = \mathop {\hbox{min} }\limits_{y \in \varOmega (x)} \left( {\mathop {\hbox{min} }\limits_{c \in (r,g,b)} I^{c} (y)} \right) $$
(3)

where \( I{}^{c} \) is a color channel of the RGB image \( I \), \( \mathop {\hbox{min} }\limits_{c \in (r,g,b)} \) is the minimum value of the color channel, \( \varOmega (x) \) is a local patch centered at the location \( x \). From the dark channel prior, we know that the pixel value of the dark channel image is close to 0.

Here, using atmospheric scattering models, we can get the following expression by taking the minimum filter and normalizing with atmospheric light \( A \) as

$$ \frac{{I^{\text{dark}} (x)}}{A} = t(x)\frac{{J^{\text{dark}} (x)}}{A} + 1 - t(x) $$
(4)

According to the proposed dark channel prior, \( J^{\text{dark}} (x) \) is set to zero, we can get the transmission as follows

$$ t(x) = 1 - \omega \frac{{I^{\text{dark}} (x)}}{A} $$
(5)

Unfortunately, the recovery images look unnatural when the haze is complete removal. Thus, \( \omega \) is the restrain coefficient to keep a bit of haze for a more natural image. When using local minimum operations, the recovery image may occur halo effects and block artifacts, so the soft matting (Levin et al. 2006) method is used to optimize the transmission. In order to reduce time complexity, a more efficient method as guider filter (He et al. 2013) is used to replace the soft matting. The recovery formula is

$$ J(x) = \frac{I(x) - A}{{\hbox{max} (t(x),t_{0} )}} + A $$
(6)

where the value \( t_{0} \) is 0.1. It is important for reducing the noise of recovery images.

3 Our proposed method

In this section, we first introduce OCM which is to recover images obtained in dust and haze weather conditions. Then we explain the GAT method for recovering image visibility. Figure 1 shows a flow chart of our proposed method.

Fig. 1
figure 1

Flowchart of our proposed method

3.1 OCM module

In general, dust and haze weather can cause image quality degradation. Unlike haze image, the color shift of dust haze images is severe. The dust haze images appear yellow, mainly due to the blue light is largely absorbed by the atmospheric particles. We use different methods to process the dust haze image, and the recovery result is shown in Fig. 2. He et al.’s method (He et al. 2013) failed in such images, the main reason is that the blue channel intensity is low and the dark channel tends to a lower gray level, which leads to an inaccurate regional estimation of the depth of field. At the same time, the recovery image has a severe color cast and noise. Meng et al. (2014) increased the constraints and obtained clear foreground images, but the recovered images introduce more noise in sky areas. Huang et al.’s method (Huang et al. 2014) had a relatively better recovery effect, but it still does not completely solve the color cast problem. The above methods are less effective in processing dust haze images.

Fig. 2
figure 2

The performance of dehazing algorithms on the dust haze image. a Dust haze image. b He et al.’s method. c Meng et al.’s method. d Huang et al.’s method

We propose a simple but effective method—OCM to convert dust haze images to haze images. Through observation of a large number of haze and dust haze images, found that the distribution of haze particles is relatively uniform, and the effect on each pixel is approximately the same. However, the distribution of dust particles is uneven, and the effect on each pixel is different. Therefore, we consider converting dust haze images to haze images before processing. Simultaneously, we statistically analyzed the grayscale distribution of the haze image and found that the grayscale distribution is highly concentrating on a certain curve. For dust haze images, the grayscale distribution of the RGB channels is different. Compared with the G channel grayscale distribution, the R channel and the B channel grayscale distribution tend to be high grayscale and low grayscale, respectively. As shown in Fig. 3, the horizontal axis of the histogram in the figure represents the grayscale [0, 255], and the vertical axis represents the number of pixels.

Fig. 3
figure 3

Different images and their histogram. a Haze image. b Dust haze image. c Converted haze image

The optical compensation method is based on observing the grayscale distribution of more than 2000 haze images and more than 1000 dust haze images, the grayscale distribution of haze image RGB channels is approximately the same. Therefore, we compensate for the grayscale distribution of dust haze images to achieve color restoration and converts it into a haze image.

In order to achieve image transformation, this paper uses a histogram matching method (Gonzalez and Woods 2004), which refer to the probability density function of the R channel as the specified probability density function. In computer vision and computer graphics, the transformation function can be expressed as

$$ T(r) = \int_{0}^{r} {p_{r} } (\varepsilon )d\varepsilon $$
(7)

where \( r \) is the grayscale of the input image, \( p_{r} \) is the probability density function of \( r \), \( \varepsilon \) is a dummy variable of integration.

We defined a transformation function \( H(z) \)

$$ H(z) = \int_{0}^{z} {p_{z} (\varepsilon )} d\varepsilon $$
(8)

where \( z \) is the grayscale of the output image, \( p_{z} \) is the specified probability density function.

We wish the output grayscale \( z \) have the specified probability density function \( p_{z} \), it then follows from Eqs. (7) and (8) that \( H(z) = T(r) \), \( z \) satisfy the condition

$$ z = H^{ - 1} [T(r)] $$
(9)

where \( H^{ - 1} ( \cdot ) \) represent the inverse transformation.

According to the Eqs. (7)–(9), we fit the probability density function of G and B channels close to the probability density function of R channel, thereby eliminating the color cast phenomenon and enhancing the image details. The result is shown in Fig. 4.

Fig. 4
figure 4

Image transformation. a Dust haze image. b Color correction of a

3.2 GAT module

The GAT method estimates the transmission image by a Gaussian transform. However, inaccurate transmission estimation leads to color cast in the sky area. To solve this problem, we constructed an adaptive coefficient to optimize the transmission of the sky region.

To estimate the transmission image, Eq. (1) can be transformed into

$$ t(x) = \frac{A - I(x)}{A - J(x)} $$
(10)

We assume that the transmission in three color channels is similar. Calculating the minimum channel of \( I(x) \) with minimum filter

$$ t(x) = \frac{{A - \mathop {\hbox{min} }\limits_{{c \in \left\{ {r,g,b} \right\}}} I^{c} (x)}}{{A - \mathop {\hbox{min} }\limits_{{c \in \left\{ {r,g,b} \right\}}} J^{c} (x)}} $$
(11)

where \( c \) is the color channel of the haze image, \( c \in \left\{ {r,g,b} \right\} \), \( I^{c} (x) \) is the c channel value at pixel x of \( I \). \( J^{c} (x) \) is the \( c \) channel value at pixel x of \( J \), we assume that the value of atmospheric light \( A \) is known.

Because of the dark channel of the haze-free image in the sky region is not close to zero, dark channel prior is not ideal for image restoration with large sky regions. To deal with this problem, instead of setting \( \mathop {\hbox{min} }\limits_{{c \in \left\{ {r,g,b} \right\}}} J^{c} (x) \) to 0, we construct a Gaussian function to estimate \( \mathop {\hbox{min} }\limits_{c \in (r,g,b)} J^{c} (x) \), and adaptively set \( \mathop {\hbox{min} }\limits_{c \in (r,g,b)} J^{c} (x) \) close to zero when the pixels are in non-sky regions (Yu et al. 2015). The equation can be expressed as

$$ \mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} J^{c} ({\text{x}}) = C * { \exp }\left( { - {{\left( {1 - \mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} I^{c} ({\text{x}})} \right)^{2} } \mathord{\left/ {\vphantom {{\left( {1 - \mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} I^{c} ({\text{x}})} \right)^{2} } {\sigma^{2} }}} \right. \kern-0pt} {\sigma^{2} }}} \right) $$
(12)

where \( C \) represent the linear coefficient (Wang et al. 2017), it is set to prevent \( \mathop {\hbox{min} }\limits_{{c \in \left\{ {r,g,b} \right\}}} J^{c} (x) \) too large.

$$ C = \frac{{\mathop {\hbox{min} }\limits_{c \in (r,g,b)} I^{c} (x) - {\text{Min}}}}{{{\text{Max}} - {\text{Min}}}} $$
(13)

where \( {\text{Max}} \) and \( {\text{Min}} \) are the maximum and minimum of \( \mathop {\hbox{min} }\limits_{{c \in \left\{ {r,g,b} \right\}}} I^{c} (x) \), the value of \( C \) between 0 and 1, the linear coefficient is small when the intensity of \( \mathop {\hbox{min} }\limits_{c \in (r,g,b)} I^{c} (x) \) is small.

The adaptive coefficient \( \sigma (x) \) is introduced into Eq. (12) to adjust the transmission of the foreground and background images. The restoration effect with different \( \sigma \) is shown in Figs. 5 and 6. From Fig. 5b, e, it can be seen that for far scene haze image, the \( \sigma \) is small, the restored image has a color distortion phenomenon, and the details of the sky area are lost. As the \( \sigma \) increases, the sky area details of the recovery image become richer, and the overall tone tends to be natural. From Fig. 6b, e, it can be seen that for near scene haze image, when the value of \( \sigma \) is small, the restored image is more vivid, the details are richer, and the overall haze is smaller. With the increase of \( \sigma \), the residual haze of the image becomes more and more obvious, and the detail loss becomes more and more serious.

Fig. 5
figure 5

Restored image with different \( \sigma \). a Original image. b\( \sigma \) = 0.1. c\( \sigma \) = 0.3. d\( \sigma \) = 0.5. e\( \sigma \) = 0.8

Fig. 6
figure 6

Restored image with different \( \sigma \). a Original image. b\( \sigma \) = 0.1. c\( \sigma \) = 0.3. d\( \sigma \) = 0.5. e\( \sigma \) = 0.8

Through statistical analysis on a large number of haze images, we found that the larger value of \( \sigma \) has a better dehazing effect on the background, and the smaller value has a better dehazing effect on the foreground. The larger imaging distance, the higher the pixel value on the \( \sigma (x) \). Therefore, suppose in the imaging process, the \( \sigma (x) \) increases linearly as the depth of field increases. The maximum color component of the haze image three channel can roughly reflect the image depth information. In order to ensure the same transmission value of the local area and eliminate the influence of white objects, the minimum filter is applied to the maximum channel image to obtain the depth information of the haze image. The expression of the mixed channel is as follows

$$ I^{{\prime }} (x) = \mathop {\hbox{min} }\limits_{y \in \varOmega (x)} \left( {\mathop {\hbox{max} }\limits_{c \in (r,g,b)} I^{c} (y)} \right) $$
(14)

where \( \mathop {\hbox{min} }\limits_{y \in \varOmega (x)} \) is the minimum filter, the patch size is \( 15 \times 15 \), the block artifacts come from the mixed channel computation using a local minimum operator, the edge features of \( I^{{\prime }} (x) \) are blurred. In order to solve this problem, the joint bilateral filter is used to optimize \( I^{{\prime }} (x) \).

We can get the adaptive coefficient

$$ \sigma (x) = \frac{\lambda }{{W_{x}^{jb} }}\sum\limits_{y \in S} {G_{{\sigma_{\gamma } }} } \left( {\left\| {I^{{\prime }} (x) - \mathop {\hbox{max} }\limits_{c \in (r,g,b)} I^{c} (y)} \right\|} \right) \times G_{{\sigma_{s} }} \left( {\left\| {x - y} \right\|} \right)\left( {1 - \mathop {\hbox{max} }\limits_{c \in (r,g,b)} I^{c} (y)} \right) $$
(15)

where \( G_{{\sigma_{\gamma } }} \) and \( G_{{\sigma_{s} }} \) is a Gaussian function; \( \sigma_{\gamma } \) is a range-scale factor of Gaussian function; \( \sigma_{s} \) is a spatial-scale factor of Gaussian function, \( W_{x}^{jb} = \sum\limits_{y \in S} {G_{{\sigma_{\gamma } }} (||I^{\prime } (x) - I^{\hbox{max} } (y)||)} \times G_{{\sigma_{s} }} (||x - y||) \) is filter normalization factor, \( \lambda \) is adjustment coefficient to constrain \( \sigma (x) \).

Substituting Eqs. (12) and (15) into Eq. (11), we can estimate the transmission \( t^{{\prime }} (x) \) simply by

$$ t^{\prime } (x) = \frac{{A - \omega \left( {\mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} I^{c} (x)} \right)}}{{A - C * \exp \left( { - {{\left( {1 - \mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} I^{c} (x)} \right)^{2} } \mathord{\left/ {\vphantom {{\left( {1 - \mathop {\hbox{min} }\limits_{{c \in \{ r,g,b\} }} I^{c} (x)} \right)^{2} } {\sigma (x)}}} \right. \kern-0pt} {\sigma (x)}}} \right)}} $$
(16)

where \( \omega \) is set to 0.95, the coefficient can remain a little haze to make the recovery image look more natural.

3.3 Estimating the atmospheric light

The atmospheric light value \( A \) is also an important parameter in the atmospheric scattering model, and its accuracy directly affects the quality of the final restored image. According to Eq. (1), if the estimated atmospheric light value is too large, the restored image will be darker; and if the atmospheric light value is too small, the restored image will be brighter. That is to say, if the atmospheric light estimate is smaller than it should be, it is easy to produce halo effects or oversaturation effect in the sky area. At present, the atmospheric light is mainly divided into global atmospheric light and local atmospheric light (Sun et al. 2013). Next, we review some classic algorithms for selecting atmospheric light values. The classical dark channel prior algorithm (He et al. 2011) selects the top 0.1% of the pixels in the dark channel, then maps the pixels to the input image and selects the pixel value with the highest intensity in the input image as the atmospheric light value. Sulami et al. (2014) proposed a method for automatically acquiring atmospheric light values, which determines the atmospheric light value by determining the direction of the atmospheric light vector. However, He et al.’s method (He et al. 2011) is susceptible to strong light sources or large white areas of pixels, so it may not work in some cases. Sulami et al.’s method (Sulami et al. 2014) can get better atmospheric light values. Kim et al. (2013) proposed the quadtree based segmentation that is used to divide the image region and score the segmented region. At the same time, select the texture information and brightness, and the pixel value with the smallest difference from pure white is taken as the atmospheric light value. Our paper uses a method based on the quadtree segmentation.

We first divide the image \( I(x) \) into four rectangular regions and then get the difference value between the average pixel value and the standard deviation in each region. Finally, we divide the region with the highest difference value into four rectangular regions, repeat the above operations until the rectangular area is less than the threshold. The atmospheric light value selection strategy is depicted in Fig. 7. The quadtree segmentation can avoid the influence of strong light source and white object on atmospheric light selection.

Fig. 7
figure 7

Atmospheric light value selection. a Original image. b He’s algorithm (He et al. 2013). c Quadtree segmentation

4 Experimental results

In order to verify the validity and practicability of the proposed algorithm, we compared the dehazing effect from two aspects: visual effect and objective evaluation. The computer configuration is Intel (R) Core (TM) i5-6300U CPU@2.40GHZ, 4 GB RAM, implement all experiments in MATLAB 2015. Comparing our method with some classical single image dehazing algorithms, and the results prove that the proposed algorithm is effective in estimating the transmission.

4.1 Subjective evaluation

Visual analysis based on human subjective perception often has a certain one-sidedness, but can quickly see the recovery effect. As shown in Figs. 8, 9, 10 and 11, these four sets of images all show different degrees of dehazing. Comparing our method with He’s algorithm (He et al. 2013), Zhu’s algorithm (Zhu et al. 2015), Meng’s algorithm (Meng et al. 2014), and Cai’s algorithm (Cai et al. 2016), respectively. Figures 8a, 9, 10 and 11a are the original haze images. It can be seen from Figs. 8b, 9 and 10b that the texture details of the image are significantly improved, and remove the influence of mist substantially. However, the residual haze still appears in the edge regions, and the results look darker at a certain degree. Besides, Zhu’s algorithm has a problem similar to Cai’s algorithm, as we can observe in Figs. 8c, e, 9 and 10c, e, although the details of the restored images are prominent, the haze is not completely removed. Zhu et al.’s algorithm and Cai et al.’s algorithm is hard to recover the details of the dense haze area, and there is a problem of color cast in Zhu et al.’s algorithm. Meng’s algorithm performs well on haze density prediction, but the restored image exhibits a significant color cast and artifacts, especially in Fig. 8d.

Fig. 8
figure 8

Haze image ‘mountain’. a Original haze image. b He’s algorithm (He et al. 2013). c Zhu’s algorithm (Zhu et al. 2015). d Meng’s algorithm (Meng et al. 2014). e Cai’s algorithm (Cai et al. 2016). f Our algorithm

Fig. 9
figure 9

Haze image ‘road’. a Original haze image. b He’s algorithm (He et al. 2013). c Zhu’s algorithm (Zhu et al. 2015). d Meng’s algorithm (Meng et al. 2014). e Cai’s algorithm (Cai et al. 2016). f Our algorithm

Fig. 10
figure 10

Haze image ‘forest’. a Original haze image. b He’s algorithm (He et al. 2013). c Zhu’s algorithm (Zhu et al. 2015). d Meng’s algorithm (Meng et al. 2014). e Cai’s algorithm (Cai et al. 2016). f Our algorithm

Fig. 11
figure 11

Dust haze image ‘dust’. a Original dust haze image. b He’s algorithm (He et al. 2013). c Zhu’s algorithm (Zhu et al. 2015). d Meng’s algorithm (Meng et al. 2014). e Cai’s algorithm (Cai et al. 2016). f Our algorithm

Compared with the dehazing effects of the above four algorithms, it can be seen that our algorithm significantly restores the image texture details, the brightness is appropriate, and has better contrast and saturation. Besides, although their results are generally acceptable in Figs. 8, 9 and 10, they may fail for some particular images such as dust haze images (Figs. 11, 12), this is because the dust haze images do not conform to the atmospheric scattering model. In our method, we first convert dust haze images into haze images and then remove the haze. It can be seen from the experimental results that our dehazing algorithm has a better effect on the treatment of color cast in images, and the saturation of the haze image is appropriate, and the bright area is more natural.

Fig. 12
figure 12

Dust haze images. a Original dust haze images. b He’s algorithm (He et al. 2013). c Cai’s algorithm (Cai et al. 2016). d Ren’s algorithm (Ren et al. 2016). e Our algorithm

The images in Fig. 13 show the comparison of our method with the dehazing effects of state-of-the-art methods on five different types of images. The results show that our method can effectively remove the haze of images with color distortion and restore their true color without artifacts.

Fig. 13
figure 13

Comparison of outdoor images. a Original images. b He’s algorithm (He et al. 2013). c Cai’s algorithm (Cai et al. 2016). d Ren’s algorithm (Ren et al. 2016). e Our algorithm

4.2 Objective evaluation

Currently, the most widely used blind assessment method in image enhancement is the visible edges gradient ratio proposed by Hautiere (2008), we compute four aspects including visible edge (VE), average gradient (AG), saturated pixels (SP), and running time (RT). The expressions are as follows

$$ VE = \frac{{n_{r} - n_{0} }}{{n_{0} }} $$
(17)

where \( n_{r} \) and \( n_{0} \) represent the number of visible edges of the haze image and reconstructed images, respectively.

$$ AG = \exp \left[ {\frac{1}{{n_{r} }}\sum\limits_{{P_{i} \in \wp }} {\log } \frac{{\Delta I_{i}^{r} }}{{\Delta I_{i}^{o} }}} \right] $$
(18)

where \( \Delta I_{i}^{r} \) and \( \Delta I_{i}^{r} \) is the gradient of the restored image and original image, respectively. \( \wp \) denotes the set of visible edges of the restored image.

$$ SP = \frac{{n_{s} }}{W \times H} $$
(19)

where \( W \) and \( H \) is the size of the image, \( n_{s} \) denote the number of black and white pixels of the enhanced image which are not purely black and white in the original image.

Experimental results of various haze images: ‘mountain’, ‘road’, ‘forest’, ‘dust’ are presented in Figs. 8, 9, 10 and 11. Comparison of four evaluation indicators is shown in Fig. 14. Higher values of VE and AG signify superior restoration efficacy. In contrast, higher values of SP signify inferior restoration efficacy. He et al.’s and Meng et al.’s methods can obtain a large value of VE and AG in the haze images, but do not perform best in dust haze images. Our algorithm achieves higher values on the visible edge and the average gradient, especially in dust haze images, this shows that our algorithm effectively improves the visibility of the image. Compared with the four algorithms, our method has achieved good performance, but the time complexity is higher than Zhu’s method (Zhu et al. 2015). Given these results for the four metrics, we can safely draw the conclusion that our dehazing method works well.

Fig. 14
figure 14

Objective evaluation. a Visible edge. b Average gradient. c Saturated pixels. d Running time

5 Discussion and conclusion

In view of the problem of image color cast caused by haze and dust weather, we propose an optical compensation method. Firstly, an adaptive Gaussian function is constructed to obtain a dark channel of the image, and an adaptive coefficient is applied to optimize the transmission of the sky region. Secondly, atmospheric light estimation based on quadtree partitioning is applied to improve the accuracy of atmospheric light. Finally, the optical compensation method is used to solve the color shift phenomenon well, and the adaptive Gaussian model is used to improve the visibility of the image. The experimental results show that the algorithm can effectively suppress the halo effect and block artifacts, and the visibility recovery of the sky region is very nature. Moreover, the processing speed of the algorithm is satisfactory. The shortcoming in the method is that the color oversaturation tend to appear in regions of the foreground image. This is a problem that we need to improve in the future.