Collection of common image processing algorithms. This project aims to learn digital image processing algorithms by coding them from scratch in Python >= 3.6. Small Flask application is used to generate output in website to see algorithm result.
Travis-CI is used for CI/CD environment.
Implemented so far:
- resizing algorithms:
- Nearest neighbour (https://en.wikipedia.org/wiki/Nearest_neighbour_algorithm)
- Bilinear interpolation (https://en.wikipedia.org/wiki/Bilinear_interpolation)
- Bicubic interpolation (https://en.wikipedia.org/wiki/Bicubic_interpolation)
- other:
- negative (https://en.wikipedia.org/wiki/Negative_(photography))
- Tilt-shift (https://pl.wikipedia.org/wiki/Tilt-shift)
- RGB to HSV conversion(https://en.wikipedia.org/wiki/HSL_and_HSV)
- HSV to RGB conversion(https://en.wikipedia.org/wiki/HSL_and_HSV)
- color accent
- tone
- dithering
- Floyd-Steinberg (https://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering)
- Jarvis Judice Ninke (https://en.wikipedia.org/wiki/Dither)
- Stucki (https://en.wikipedia.org/wiki/Dither)
- Convolution
- Edge detection (https://en.wikipedia.org/wiki/Kernel_(image_processing))
git clone https://github.com/mateuszz0000/imgprocalgs
pip install -U imgprocalgs/
Different entry point is prepared for each type of algorithm:
imgprocalgs-sepia <OPTIONS>
imgprocalgs-tiltshift <OPTIONS>
imgprocalgs-dithering <OPTIONS>
imgprocalgs-negative <OPTIONS>
imgprocalgs-color-accent <OPTIONS>
Read our Contribution Guidelines before you contribute.