In recent decades, the most popular approach to image processing has involved treating an image as a two-dimensional signal and applying signal processing filters. A large number of tools can be created this way and therefore it became the basis for modern image processing software. However, the scope of these techniques is limited by the fact that filters need to be designed manually. The recent advancements in image recognition and convolutional neural networks offer an alternative. Given large amount of images, filters for information extraction can be learned from the data.