Single-Image-Dehazing-Python

python implementation of the paper: “Efficient Image Dehazing with Boundary Constraint and Contextual Regularization”

Installation and Running the tests

method 1

  pip install image_dehazer

Usage:

  import image_dehazer										# Load the library

  HazeImg = cv2.imread('image_path')						# read input image -- (**must be a color image**)
  HazeCorrectedImg, HazeTransmissionMap = image_dehazer.remove_haze(HazeImg)		# Remove Haze

  cv2.imshow('input image', HazeImg);						# display the original hazy image
  cv2.imshow('enhanced_image', HazeCorrectedImg);			# display the result
  cv2.waitKey(0)											# hold the display window

user controllable parameters (with their default values):

airlightEstimation_windowSze=15
boundaryConstraint_windowSze=3
C0=20
C1=300
regularize_lambda=0.1
sigma=0.5
delta=0.85
showHazeTrasmissionMap=True

method 2

  1. Go to the src folder
  2. run the file “example.py”
  3. sample images are stored in the “Images/” folder
  4. Output images will be stored in the “outputImages/” folder

Libraries needed:

1.numpy==1.19.0

2.opencv-python

3.scipy

Theory

This code is an implementation of the paper “Efficient Image Dehazing with Boundary Constraint and Contextual Regularization” The algorithm can be divided into 4 parts:

License

Acknowledgements

Merugu, Suresh. (2014). Re: How to detect fog in an image and then enhance the image to remove fog?. Retrieved from: https://www.researchgate.net/post/How_to_detect_fog_in_an_image_and_then_enhance_the_image_to_remove_fog/53ae3f10d2fd64c3648b45a9/citation/download.

Citation

@INPROCEEDINGS{6751186, 
  author={G. Meng and Y. Wang and J. Duan and S. Xiang and C. Pan}, 
  booktitle={IEEE International Conference on Computer Vision}, 
  title={Efficient Image Dehazing with Boundary Constraint and Contextual Regularization}, 
  year={2013}, 
  volume={}, 
  number={}, 
  pages={617-624}, 
  month={Dec},}

Results

2 ============================================================================================================ 1 ============================================================================================================ 3

Performance Comparison:

In this section, I am comparing the dehazing output with that of AOD-Net. I am using this python implementation of AOD-Net to run a pretrained AOD-Net model image

Here are some cases where AOD-Net is better: image