What this book covers
Chapter 1, Getting Started with OpenCV, covers installation steps on various operating systems and provides an introduction to the human visual system, as well as various topics in computer vision.
Chapter 2, Introduction to OpenCV Basics, discusses how to read/write images and videos in OpenCV, and also explains how to build a project using CMake.
Chapter 3, Learning Graphical User Interface and Basic Filtering, covers how to build a graphical user interface and mouse event detector to build interactive applications.
Chapter 4, Delving into Histograms and Filters, explores histograms and filters and also shows how we can cartoonize an image.
Chapter 5, Automated Optical Inspection, Object Segmentation, and Detection, describes various image pre-processing techniques, such as noise removal, thresholding, and contour analysis.
Chapter 6, Learning Object Classification, deals with object recognition and machine learning, and how to use support vector machines to build an object classification system.
Chapter 7, Detecting Face Parts and Overlaying Masks, discusses face detection and Haar Cascades and then explains how these methods can be used to detect various parts of the human face.
Chapter 8, Video Surveillance, Background Modeling, and Morphological Operations, explores background subtraction, video surveillance, and morphological image processing, and describes how they are connected to one another.
Chapter 9, Learning Object Tracking, covers how to track objects in a live video using different techniques, such as color-based and feature-based tracking.
Chapter 10, Developing Segmentation Algorithms for Text Recognition, covers optical character recognition, text segmentation, and provides an introduction to the Tesseract OCR engine.
Chapter 11, Text Recognition with Tesseract, delves deeper into the Tesseract OCR engine to explain how it can be used for text detection, extraction, and recognition.
Chapter 12, Deep Learning with OpenCV, explores how to apply deep learning in OpenCV with two commonly used deep learning architectures: YOLO v3 for object detection, and Single Shot Detector for face detection.
Chapter 13, Cartoonifier and Skin Color Analysis on the RaspberryPi, demonstrates how to write some image processing filters for desktops and for small embedded systems such as Raspberry Pi.
Chapter 14, Explore Structure from Motion with the SfM Module, demonstrates how to use the SfM module to reconstruct a scene to a sparse point cloud, including camera poses, and also obtain a dense point cloud using multi-view stereo.
Chapter 15, Face Landmark and Pose with the Face Module, explains the process of face landmark (also known as facemark) detection using the face module.
Chapter 16, Number Plate Recognition with Deep Convolutional Networks, introduces image segmentation and feature extraction, pattern recognition basics, and two important pattern recognition algorithms, the Support Vector Machine (SVM) and deep neural network (DNN).
Chapter 17, Face Detection and Recognition with the DNN Module, demonstrates different techniques for detecting faces on the images, ranging from more classic algorithms using cascade classifiers with Haar features through to newer techniques employing deep learning.
Chapter 18, Android Camera Calibration and AR Using the ArUco Module, shows how to implement an augmented reality (AR) application in the Android ecosystem, using OpenCV's ArUco module, Android's Camera2 APIs, and the JMonkeyEngine 3D game
engine.
Chapter 19, iOS Panoramas with the Stitching Module, shows how to build a panoramic image stitching application on the iPhone using OpenCV's precompiled library for iOS.
Chapter 20, Finding the Best OpenCV Algorithm for the Job, discusses a number of methods to follow when considering options within OpenCV.
Chapter 21, Avoiding Common Pitfalls in OpenCV, reviews the historical development of OpenCV, and the gradual increase in the framework and algorithmic offering, alongside the development of computer vision at large.