Single Image Haze Removal Using Dark Channel Prior (paper implementation)
The original algorithm is described in https://www.robots.ox.ac.uk/~vgg/rg/papers/hazeremoval.pdf
This implementation uses guided filtering instead of soft-matting in order to improve computationnal efficiency.
Guided filters were introduced in http://kaiminghe.com/publications/eccv10guidedfilter.pdf
The algorithm tends to be noisy, especially when the input image contains regions with zero transmission (such as sky).
A trade-off between amount of dehazing and noise must be found by adapting the value of t0 (0.3 is a good value for images with sky regions).
void recoverSceneRadiance(cv::Mat src, cv::Mat& radiance, int patchSize, float t0)Source image:
Dehazed result:
Transmission map:
Filtered transmission map:
Source image:
Dehazed result:
Transmission map:
Filtered transmission map:







