Recipe-based approach to tackle the most common problems in Computer Vision by leveraging the functionality of OpenCV using Python APIs
Key Features
- Build computer vision applications with OpenCV functionality via Python API
- Get to grips with image processing, multiple view geometry, and machine learning
- Learn to use deep learning models for image classification, object detection, and face recognition
Book Description
OpenCV 3 is a native cross-platform library for computer vision, machine learning, and image processing. OpenCV's convenient high-level APIs hide very powerful internals designed for computational efficiency that can take advantage of multicore and GPU processing. This book will help you tackle increasingly challenging computer vision problems by providing a number of recipes that you can use to improve your applications.
In this book, you will learn how to process an image by manipulating pixels and analyze an image using histograms. Then, we'll show you how to apply image filters to enhance image content and exploit the image geometry in order to relay different views of a pictured scene. We'll explore techniques to achieve camera calibration and perform a multiple-view analysis.
Later, you'll work on reconstructing a 3D scene from images, converting low-level pixel information to high-level concepts for applications such as object detection and recognition. You'll also discover how to process video from files or cameras and how to detect and track moving objects. Finally, you'll get acquainted with recent approaches in deep learning and neural networks.
By the end of the book, you'll be able to apply your skills in OpenCV to create computer vision applications in various domains.
What you will learn
- Get familiar with low-level image processing methods
- See the common linear algebra tools needed in computer vision
- Work with different camera models and epipolar geometry
- Find out how to detect interesting points in images and compare them
- Binarize images and mask out regions of interest
- Detect objects and track them in videos
Who This Book Is For
This book is for developers who have a basic knowledge of Python. If you are aware of the basics of OpenCV and are ready to build computer vision systems that are smarter, faster, more complex, and more practical than the competition, then this book is for you.
Table of Contents
- IO and GUI
- Matrices colors and filters
- Contours and segmentation
- Object detection and machine learning
- Deep learning
- Linear algebra
- Detectors and descriptors
- Image and video processing
- Multiple view geometry
Alexey Spizhevoy has more than 7 years of experience in computer vision R&D. He has worked for 5 years at Itseez, the main OpenCV contributor before having been acquired by Intel. He has contributed video stabilization and photo stitching modules into OpenCV library. He has successfully participated (both as an engineer and a tech leader) in numerous computer vision projects (involving machine/deep learning) in areas such as 3D reconstruction, video conferencing, object detection and tracking, gaze direction estimation, semantic segmentation, driving assistance, path planning, and others. He holds a master's degree in computer science, and is currently pursuing PhD.
Aleksandr Rybnikov has more than 5 years of experience in C++ programming, including 3 years in computer vision domain. He was an engineer at Itseez, a company which supported and developed OpenCV. After Itseez's acquisition, he brought OpenCV's dnn module to a new level by adding support of another two DL frameworks and many features along with improving and enriching the existing functionality. He was involved as an engineer in several computer vision and deep learning projects including iris recognition, object detection, semantic segmentation, and autonomous navigation. He took part in holograms reconstruction scientific project. He has a master's degree in Physics.