Boost logo

Boost :

From: Miral Shah (miralshah2211_at_[hidden])
Date: 2019-08-28 08:14:24


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

### 1. **Thresholding**
* 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

### 2. **Convolution:**
* 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:**
* [Commits](https://github.com/BoostGSoC19/gil-miral/commits?author=miralshah365)
* [Issues](https://github.com/boostorg/gil/issues?utf8=%E2%9C%93&q=is%3Aissue+assignee%3Amiralshah365+)
* [Pull Requests](https://github.com/boostorg/gil/pulls?q=is%3Apr+author%3Amiralshah365)

# My Mentor

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.

--------------------------------------------------------------------------------------------

This can also be found at:
https://gist.github.com/miralshah365/ca1d2ea05e78dc189f15bcac824680e7

-- 
Thank you,
Miral Shah

Boost list run by Boost-Gil-Owners