Digital image processing
Some exercise for an exam. (Trying to not use openCV implementation)
How to compile
Use script.sh to build cpp files
Canny
Canny algorithm for edge detection. Pass Gaussian blur kernel, sigma, lower threshold, higher threshold.
Distance transform
Used for distance mapping.
Histogram equalizator
Equalize an image histogram.
Harris
Algorithm for Corner detection in an image.
Hough circles
Detection circles in images: minimum radius, max radius and threshold for accumulator.
Hough lines
Detection lines in images: input is the threshold for accumulator.
K-means
K-means algorithm find correct cluster starting from K centroids: applied to images find correct cluster for a pixel based on RGB distance (euclidian). Auto version stops if there isn't a variation under a certain threshold. Interactive can select with mouse centroids rather then random. Iterative use N iteration before stop.
Noise remover
Apply a median blur for salt pepper noise images or mean blur for noisy images.
Edge detection with operators
Region growing
Region growing using RGB distance and HSV tint for just a color expansion. Interactive must click on source image to expand. RGB and Greyscale version tries to expand automatically.
Split (& Merge)
Recursively split images if RGB dist is less then threshold. Try to recolor blocks up to max block size.