Digital image processing is a computer science field dedicated to processing and analyzing images with mathematical and algorithmic methods. This computer science area is intensively used in industries to accomplish different tasks like defect detection, food quality control, agricultural monitoring, and check recognition. The applications of digital image analysis are continually increasing.
Nowadays, smartphones are equipped with basic image processing apps like panoramic photos, face detection and recognition, [ref] and some other apps capable of modifying images.
Moreover, in the Android Google Play Store, they are a lot of image processing application like Camera360 - Photo Editor, Face Swap, and Pixlr. In the last decade, huge research efforts have been made by companies in the field of computer vision. One of the notable advancements in the area is the autonomous car, a car that drives its passengers from a start point to a destination without any human action. These vehicles are equipped with a lot of sensors (radars, lidars, laser, acoustic, and optical cameras) [ref] that interact together to detect the presence of obstacles on the road. Complicated computer vision algorithms permit obstacle recognition and avoidance.
Unfortunately, many people do not have the technical background necessary to understand the algorithms extensively used in computer vision. The purpose of this tutorial is to provide the necessary material for understanding the science of computer vision. The first part of the tutorial is dedicated to basic knowledge of human and computer vision. The second part is devoted to image object extraction, known as the segmentation step, which is essential in any computer vision task. The process of image feature extraction is explained in the third chapter. In the fourth part, the object recognition process is described. Finally, the fifth section is dedicated to practical image processing applications such as OCR, scene parsing, and facial recognition.