Image convolution is a operation where some filter is applied image to get effects such as blurring, sharpening, outlining or embossing. This task is performed as matrix operation, we have one big matrix (image) and another much smaller matrix 'kernel'. The kernel matrix is crucial and decides of filter type.
Convolution is also used in machine learning for 'feature extraction' in Convolution Neural Networks
Project explainning convolution operation with use of python and scipy package. There are examples of:
- smooth color RGB image, work with each channel
- edge detecter - sobel filter - https://en.wikipedia.org/wiki/Sobel_operator
- Run the code at plon: https://plon.io/explore/image-convolution-in-python/9qlBGgI1c2jdftkzu
- Source code at github: https://github.com/ksirg/image_convolution_example