Very fast contrast limited adaptive histogram equalization (CLAHE) implementation for Java (based on OpenCV)
CLAHE algorithm with option for adaptive check if image to process is suitable for CLAHE by determining the darkness of an image. Implementation is fully threadsafe, multithreaded and much faster than the initial C++ port for OpenCV 2.4.9. Benchmarks with 4000x6000 pixel images and default settings shows up to ~2.66x speed increase.
This implementation is used within the project Katib-Engine, a fast multi layered image search engine with high accuracy. By utilizing, the amount of retrieved image features could be increased dramatically which lead to more accurate searches.
Sample image from Oxford 5K collection
Allows the user to check if image candidate is suitable for CLAHE application by analysing image pixels. If image contains x percent amount of too dark pixels, where darkness is defined by a custom threshold value, then CLAHE is applied. This feature is optional and mostly useful for retrieval applications where it must be distinguished, if applying CLAHE on target image may give better results.
More features gives positive effect on image feature extraction and matching
CLAHE: Color/Gray output, Clip Limit
Adaptive Check: Pixel Brightness Threshold, Dark Pixels Percentage Threshold
git clone https://github.com/jbellic/adaptive-concurrent-clahe.git