I wrote an article about the Canny edge detection algorithm for Appentra. They say an image is worth a thousand words so here is the input and output image of the Canny algorithm:
The algorithm is an edge detector, i.e. it detects places in the input image where there is a sharp change in image brightness and produces the output image with black pixels in those places.
The article’s main point is about the memory access pattern and performance. The speed of the program depends a lot on the memory access pattern. If you are developing in the field of audio, image and video processing or scientific computing, you will learn how small changes can have a huge performance impact.