Table of contents : Cover Page Title Page Copyright Page Dedication About the Author About the Reviewer Acknowledgement Preface Table of Contents 1. Introduction to Computer Vision Introduction Structure Objectives History of computer imaging Retrieving information from images Image processing Representation Manipulation Flexibility Reproducibility Digital image processing Conclusion Exercises 2. Basics of Imaging Introduction Structure Objectives Pixels and image representation Pixels Color spaces Primary colors Additive colors Subtractive colors Grayscale Other color spaces Pixels and color spaces Examples Image filetypes Video files Images and videos Programming for image data A brief history of computer image programming OpenCV: History and overview Image processing code samples Opening, viewing and closing image files CPP code Python code Videos and frames Programming with color spaces Grayscale RGB image Conclusion Exercises 3. Challenges in Computer Vision Introduction Structure Objectives Topics in computer vision Complexity in image processing Image classification Object localization Image segmentation Character recognition Conclusion Exercises Key terms 4. Classical Solutions Introduction Structure Objectives Solutions for challenges in computer vision Classical solutions Modern solutions Algorithm families Morphological operations Erosion and dilation of images Closing and opening images Thresholding Detecting edges and corners Image transformations Region growing Clustering Template matching Watershed algorithm Foreground and background detection Superpixels Image pyramids Convolution Conclusion Exercises Key terms 5. Deep Learning and CNNs Introduction Structure Objectives History of deep learning Perceptron Shallow learning networks Deep learning networks Weights, biases, and activation functions Weight Bias Activation function Optimization function Convolutional neural networks CNNs versus fully connected networks Deep learning process Training Techniques in training Inference process Techniques/tricks in inference Conclusion Key terms Exercises 6. OpenCV DNN Module Introduction Structure Objectives Deep learning frameworks TensorFlow PyTorch Keras Inference for computer vision Local inferencing Local CPUs Local GPUs Cloud Edge computing OpenCV DNN module History Features and limitations Capabilities Limitations Considerations Supported layers Unsupported layers and operations Important classes Conclusion Exercises 7. Modern Solutions for Image Classification Introduction Structure Objectives CNNS for classification Inception-v3 Keras OpenCV DNN module ResNet Keras implementation OpenCV DNN implementation MobileNetV2 Keras implementation OpenCV DNN implementation Comparison of models Parameters for blobFromImage() Conclusion Exercises 8. Modern Solutions for Object Detection Introduction Structure Convolutional neural networks architecture for object detection Faster region convolutional neural network Single shot multibox detector You only look once YOLOv3 Overview of NMSBoxes() API YOLOv5 Differences between YOLOv3 and v5 Obtaining v5 model ONNX file Working with v6, v7 and v8 Conclusion Exercises 9. Faces and Text Introduction Structure Objectives Face detection Haar cascades Deep learning approaches: YuNet Face recognition Face detection versus recognition Face recognition using landmarks Face recognizer module Labeled Faces in the Wild dataset FaceRecognizerSF class Comparing faces Text recognition Text detection Text recognition OpenCV Model Zoo Conclusion Exercises Key terms 10. Running the Code Introduction Structure Objectives Sequence of steps Setting up Anaconda Installing Anaconda on Windows Installing Anaconda on Ubuntu Linux Installing Git Installing Git on Windows Installing Git on Ubuntu Setting up Python environment Fetching the code Downloading the code Fetch the weights Installing the libraries Running the code Conclusion Exercises 11. End-to-end Demo Introduction Structure Objectives Code main_app.py video_app_ui.py image_processor.py numberplate_recognizor.py object_detector.py Running the code Application design Notes about codes Conclusion Exercises Index