I worked with Boost C++ Libraries in GSoC 2019 to develop and include new image processing algorithms in Boost.GIL which can help to eliminate the need of other libraries to a certain extent. This would cover specific basic algorithms which can be used to develop other advanced image processing algorithms.
Features Developed During GSoC 2019
GitHub Link: https://github.com/BoostGSoC19/gil-miral
- Simple Thresholding:
Setting new pixel value according to the current value of pixel if it is above or below a threshold value. Multiple types of simple thresholding algorithms implemented:
- Binary Threshold
- Inverse Binary Threshold
- To Zero (new pixel value set to 0 if the old pixel value is less than the threshold)
- To Zero Inverse (new pixel value set to 0 if the old pixel value is greater than the threshold)
- Adaptive Thresholding:
Threshold values are defined according to the neighbor of the pixel and new values are set accordingly. Two main types of Adaptive Thresholding algorithms implemented.
- Mean Adaptive Threshold
- Gaussian Adaptive Threshold
- Optimal Thresholding:
This type of threshold chooses a global threshold value depending on the histogram and then performs binarization.
- Otsu's Threshold
- Extended support for the existing convolution by developing new classes for 2-dimensional kernels and provided functions to perform 2D convolution using those 2D kernels.
3. De-Noising Image:
- During GSoC Box-filter and blur filters were implemented. There are plans to implement the Median filter and Wiener filter shortly.
Links To the work:
My mentor Mateusz Łoskot helped me out in finding mistakes in my codes as well as whenever I am stuck with any problem. My interaction with him was productive and important for the success of the project. He reviewed my code on a regular interval which led me to write code with better quality.
A special thanks to Stefan Seefeld who guided me through the process of the GSoC and helped me to come up with a good project proposal.