We started our OpenCV journey by learning about techniques that could be best described as image processing algorithms. During the previous chapters, the focus was on taking an image and applying certain pixel-wise transformations or processing operations that ultimately produced images as an output. Grayscale transformations, image filtering, and thresholding are some examples that were illustrated as falling within the aforementioned framework of operations. Then, we moved on to slightly more mature forms of processing images and introduced techniques such as image histograms and edge detection that fall under the umbrella of computer vision algorithms.
In this chapter, we plunge deeper into the world of vision. In fact, we will take a look at one of the most exciting problems in vision-detecting faces in images. This was an active area of research for quite a few years. Even today, there are research papers that are published in the area of face detection...