▶Book Description
OpenCV is one of the best open source libraries available, and can help you focus on constructing complete projects on image processing, motion detection, and image segmentation. Whether you're completely new to computer vision, or have a basic understanding of its concepts, Learn OpenCV 4 by Building Projects – Second edition will be your guide to understanding OpenCV concepts and algorithms through real-world examples and projects.
You'll begin with the installation of OpenCV and the basics of image processing. Then, you'll cover user interfaces and get deeper into image processing. As you progress through the book, you'll learn complex computer vision algorithms and explore machine learning and face detection. The book then guides you in creating optical flow video analysis and background subtraction in complex scenes. In the concluding chapters, you'll also learn about text segmentation and recognition and understand the basics of the new and improved deep learning module.
By the end of this book, you'll be familiar with the basics of Open CV, such as matrix operations, filters, and histograms, and you'll have mastered commonly used computer vision techniques to build OpenCV projects from scratch.
▶What You Will Learn
⦁ Install OpenCV 4 on your operating system
⦁ Create CMake scripts to compile your C++ application
⦁ Understand basic image matrix formats and filters
⦁ Explore segmentation and feature extraction techniques
⦁ Remove backgrounds from static scenes to identify moving objects for surveillance
⦁ Employ various techniques to track objects in a live video
⦁ Work with new OpenCV functions for text detection and recognition with Tesseract
⦁ Get acquainted with important deep learning tools for image classification
▶Key Features
⦁ Understand basic OpenCV 4 concepts and algorithms
⦁ Grasp advanced OpenCV techniques such as 3D reconstruction, machine learning, and artificial neural networks
⦁ Work with Tesseract OCR, an open-source library to recognize text in images
▶Who This Book Is For
This book is for developers who are new to OpenCV and want to develop computer vision applications with OpenCV in C++. A basic knowledge of C++ would be helpful in understanding this book. This book is also useful for people who want to get started with computer vision and understand the underlying concepts. They should be aware of basic mathematical concepts, such as vectors, matrices, and matrix multiplication, in order to get the most out of this book. During the course of this book, you will learn how to build various computer vision applications from scratch using OpenCV.
▶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.