Open saskatchewancatch opened 5 years ago
As it turns out, He's algorithm is now patented and held by Microsoft: https://patents.google.com/patent/US8340461B2/en?inventor=kaiming&oq=kaiming+he
So unfortunately He's algorithm cannot be implemented.
There are similar haze removal algorithms that are still worth exploring and implementing.
It can be still implemented under NONFREE
flag (like SURF), but priority is low.
This is more of a "feature request" than an issue.....
OpenCV's xphoto module has no haze removal algorithms. The research in this field is still ongoing, but it seemed to have peaked in interest a couple years ago, so there are mature, well-studied algorithms to choose from.
The purpose of Haze removal is to "de-fog" input images that have been taken in foggy environments and recover the radiance (essentially the natural colour) of scene items that have been obscured by uniform fog.
One of the most popular and highly-cited haze removal algorithms is Kaiming He's technique based on the dark channel prior. It was his PhD thesis, and was published later; here is the citation for it:
He, Kaiming, Jian Sun, and Xiaoou Tang. "Single image haze removal using dark channel prior." IEEE transactions on pattern analysis and machine intelligence 33.12 (2011): 2341-2353.
This algorithm provides excellent performance and AFAIK is unpatented.
A link to the algorithm's official page: http://kaiminghe.com/cvpr09/
I put together a crude implementation of He's algorithm in OpenCV to experiment with haze removal on winter images.
OpenCV was a natural fit because the guided image filter that He uses to craft an efficient implementation is already implemented in the ximgproc module.
I propose to refine my implementation and contribute it as an example or algorithm into opencv_contrib.
I'm seeking maintainer approval here. Would a mature haze removal algorithm like He's technique be a good fit into the xphoto module?