▶Book Description
Computer vision is a rapidly evolving science, encompassing diverse applications and techniques. This book will not only help those who are getting started with computer vision but also experts in the domain. You'll be able to put theory into practice by building apps with OpenCV 4 and Python 3.
You'll start by understanding OpenCV 4 and how to set it up with Python 3 on various platforms. Next, you'll learn how to perform basic operations such as reading, writing, manipulating, and displaying still images, videos, and camera feeds. From taking you through image processing, video analysis, and depth estimation and segmentation, to helping you gain practice by building a GUI app, this book ensures you'll have opportunities for hands-on activities. Next, you'll tackle two popular challenges: face detection and face recognition. You'll also learn about object classification and machine learning concepts, which will enable you to create and use object detectors and classifiers, and even track objects in movies or video camera feed. Later, you'll develop your skills in 3D tracking and augmented reality. Finally, you'll cover ANNs and DNNs, learning how to develop apps for recognizing handwritten digits and classifying a person's gender and age.
By the end of this book, you'll have the skills you need to execute real-world computer vision projects.
▶What You Will Learn
- Install and familiarize yourself with OpenCV 4's Python 3 bindings
- Understand image processing and video analysis basics
- Use a depth camera to distinguish foreground and background regions
- Detect and identify objects, and track their motion in videos
- Train and use your own models to match images and classify objects
- Detect and recognize faces, and classify their gender and age
- Build an augmented reality application to track an image in 3D
- Work with machine learning models, including SVMs, artificial neural networks (ANNs), and deep neural networks (DNNs)
▶Key Features
- Build powerful computer vision applications in concise code with OpenCV 4 and Python 3
- Learn the fundamental concepts of image processing, object classification, and 2D and 3D tracking
- Train, use, and understand machine learning models such as Support Vector Machines (SVMs) and neural networks
▶Who This Book Is For
If you are interested in learning computer vision, machine learning, and OpenCV in the context of practical real-world applications, then this book is for you. This OpenCV book will also be useful for anyone getting started with computer vision as well as experts who want to stay up-to-date with OpenCV 4 and Python 3. Although no prior knowledge of image processing, computer vision or machine learning is required, familiarity with basic Python programming is a must.
▶What this book covers
- Chapter 1, Setting Up OpenCV, explains how to set up OpenCV 4 with Python 3 on various platforms. It also provides troubleshooting steps for common problems.
- Chapter 2, Handling Files, Cameras, and GUIs, introduces OpenCV's I/O functionalities. It also discusses an object-oriented design for a GUI project that we will develop further in other chapters.
- Chapter 3, Processing Images with OpenCV, presents some techniques required to alter images, such as manipulating colors, sharpening an image, marking contours of objects, and detecting geometric shapes.
- Chapter 4, Depth Estimation and Segmentation, shows you how to use data from a depth camera to identify foreground and background regions, such that we can limit an effect to only the foreground or background.
- Chapter 5, Detecting and Recognizing Faces, introduces some of OpenCV's functionality for face detection and recognition, along with the data files that define particular types of detectable objects.
- Chapter 6, Retrieving Images and Searching Using Image Descriptors, shows how to describe the features of an image with the help of OpenCV, and how to make use of features to match and search for images.
- Chapter 7, Building Custom Object Detectors, applies a combination of computer vision and machine learning algorithms to locate and classify objects in an image. It shows how to implement this combination of algorithms with OpenCV.
- Chapter 8, Tracking Objects, demonstrates ways to track and predict the motion of people and objects in a video or live camera feed.
- Chapter 9, Camera Models and Augmented Reality, enables you to build an augmented reality application that uses information about cameras, objects, and motion to superimpose 3D graphics atop tracked objects in real time.
- Chapter 10, Introduction to Neural Networks with OpenCV, introduces you to artificial neural networks (ANNs) and deep neural networks (DNNs) in OpenCV, and illustrates their usage in real-world applications.