Image Processing for dummies
By now, almost everyone knows the term “image processing”. From editing photos that we take every day, Instagram, and Snapchat filters that got popular recently to very complex tasks such as X-rays, CT scans, image processing is everywhere. But what is actually image processing? Today we are going to find out exactly that.
Digital image processing is the use of computer algorithms to perform image processing on digital images. It is a subfield of signals and systems but focuses particularly on images. It focuses on developing a computer system that can perform processing on an image. The input of that system is a digital image and the system process that image using efficient algorithms, and gives an image as an output. An image is defined as a two-dimensional function f(x,y) where x and y are spatial coordinates, and the amplitude of “f” at any pair of coordinates (x,y) is called the intensity of that image at that point. When (x,y) and amplitude values of “f” are finite, we call it a digital image. The amplitude of the image usually holds three values. These values are called RGB values which range from 0-255. Each (x,y) coordinate holds an RGB value which determines the pixel value or depth of the image. When we do image processing, we change the value of these pixels to our needs. For example, A RGB value of (255,255,255) indicates white for a point of (x,y) while an RGB value of (0,0,0) indicates black which reflects that pixel having no information.
The processing of digital images can be divided into many classes: image analysis, enhancement, restoration, compression, transformation, etc. In image enhancement, an image is manipulated, mostly by heuristic techniques, so that a human viewer can extract useful information from it. Image restoration techniques aim at processing corrupted images from which there is a statistical or mathematical description of the degradation so that it can be reverted. Image analysis techniques permit that an image is processed so that information can be automatically extracted from it. Examples of image analysis can be edge detection which is used for object recognition.
The field of digital image processing has experienced continuous and significant expansion in recent years. The usefulness of this technology is apparent in many different disciplines covering medicine through remote sensing. The advances and wide availability of image processing hardware have further enhanced the usefulness of image processing. Some of the major fields in which digital image processing is widely used are Image sharpening and restoration, Medical field, Remote sensing, Transmission and encoding, Machine/Robot vision, Color processing, Pattern recognition, Video processing, Microscopic Imaging, etc.
As you can see, image processing is a powerful tool to accomplish a wide variety of tasks. Today, there exist powerful software to do various kind of image processing techniques such as products like Adobe Photoshop, Illustrator, etc. For people who like to do raw coding to do tasks such as for research or product development, open-source software such as OpenCV is probably the most popular one which supports python, C++, and a variety of other languages. Although for research work, another hugely popular software is Matlab. Matlab has a built-in image processing toolbox that can be used to run and simulate different algorithms very easily. So, if you are interested in learning how editing your photos black & white works or doing works like deep learning or biomedical analysis, I suggest you start meddling with OpenCV or Matlab.
Here are some links to books and websites that can help you.