It is a set of image/video enhancement methods, implemented by Java, to tackle several common tasks, such as dehazing, denoising, underwater backscatter removal, low illuminance enhancement, featuring, smoothing and etc.
NOTE that this repository is the integration of several repositories of Image/Video processing on my GitHub, and those standalone repositories will be deprecated later.
- RemoveBackScatter -- Deleted, its zip file is available here: [link].
- OptimizedContrastEnhance -- Deleted, its zip file is available here: [link].
- ImageEnhanceViaFusion -- will be deprecated, its zip file is available here: [link]
- HazeRemovalByDarkChannelPrior -- Deleted, its zip file is available here: [link]
- ALTMRetinex -- Deleted, its zip file is available here: [link]
- Image-Enhance-via-Retinex-and-DT-CWT -- Deleted, its zip file is available here: [link]
This Java project contains five different models for image/video enhancement methods as we as the MATLAB codes (in matlab
directory) for each of them.
- ALTMRetinex is inspired by Adaptive Local Tone Mapping Based on Retinex for HDR Image, which is published by Ahn, Hyunchan. Details and Results are shown here: [link].
- DarkChannelPriorDehaze is the algorithm proposed in Single Image Haze Removal Using Dark Channel Prior, published by Kaiming He. Details and Results are shown here: [link].
- FusionEnhance is implemented according to the method described in Enhancing Underwater Images and Videos by Fusion, published by Cosmin Ancuti. Details and Results are shown here: [link].
- OptimizedContrastEnhance is implemented according to the method described in Optimized Contrast Enhancement for Real-time Image and Video Dehazing, published by Jin-Hwan Kim. Details and Results are shown here: [link].
- RemoveBackScatter, Removing Backscatter to Enhance the Visibility of Underwater Object, is a fast and effective backscatter removal and enhancement method to enhance the underwater image/video as well as light hazel images. Details and Results are shown here: [link].
Despite the above methods implemented in both Java and MATLAB, below contains several image enhancement and underwater restoration algorithms implemented in MATLAB (They will be implemented in Java in the future).
- AutomaticRedChannelRestoration is implemented on the basis of Automatic Red-Channel Underwater Image Restoration.
- RetinexBasedRestoration is the method proposed in A Retinex-based Enhancing Approach for Single Underwater Image.
- AutomaticRecoveryAtmosphericLight is the method proposed in Automatic Recovery of the Atmospheric Light in Hazy Images.
- DehazingCorrectionAndDecomposition is implemented on the basis of Single Image Dehazing with White Balance Correction and Image Decomposition.
- EnhanceViaRetinexDTCWT, Image Enhancement Based on Retinex and Dual-Tree Complex Wavelet Transform, which is a efficient and effective method for enhancement of low-illuminance image/video. Details and Results are shown here: [link].
- OpenCV. To make the OpenCV can work with JAVA IDE, like IntelliJ or Eclipse, you may need to follow the guide of [Install OpenCV for Java] to setup OpenCV.
- ImShow-Java-OpenCV, a plain image display codes implemented by OpenCV Java version (This codes is already included in the project).