OpenCV 4 Computer Vision Application Programming Cookbook
內容描述
Key Features
Explore the latest features and APIs in OpenCV 4 and build computer vision algorithms
Develop effective, robust, and fail-safe vision for your applications
Build computer vision algorithms with machine learning capabilities
Book Description
OpenCV is an image and video processing library used for all types of image and video analysis. Throughout the book, you'll work through recipes that implement a variety of tasks, such as facial recognition and detection. With 70 self-contained tutorials, this book examines common pain points and best practices for computer vision (CV) developers. Each recipe addresses a specific problem and offers a proven, best-practice solution with insights into how it works, so that you can copy the code and configuration files and modify them to suit your needs.
This book begins by setting up OpenCV, and explains how to manipulate pixels. You'll understand how you can process images with classes and count pixels with histograms. You'll also learn detecting, describing, and matching interest points. As you advance through the chapters, you'll get to grips with estimating projective relations in images, reconstructing 3D scenes, processing video sequences, and tracking visual motion. In the final chapters, you'll cover deep learning concepts such as face and object detection.
By the end of the book, you'll be able to confidently implement a range to computer vision algorithms to meet the technical requirements of your complex CV projects
What you will learn
Install and create a program using the OpenCV library
Segment images into homogenous regions and extract meaningful objects
Apply image filters to enhance image content
Exploit image geometry to relay different views of a pictured scene
Calibrate the camera from different image observations
Detect people and objects in images using machine learning techniques
Reconstruct a 3D scene from images
Explore face detection using deep learning
Who this book is for
If you're a CV developer or professional who already uses or would like to use OpenCV for building computer vision software, this book is for you. You'll also find this book useful if you're a C++ programmer looking to extend your computer vision skillset by learning OpenCV.
目錄大綱
Introduction to OpenCV
Manipulating the pixels
Processing Images with Classes
Counting the Pixels with Histograms
Transforming images with morphological operations
Filtering the images
Extracting Lines, Contours, and Components
Detecting interest points
Describing and Matching interest Points
Estimating projective relations in images
Reconstructing 3D scenes
Processing video sequences
Tracking visual motion
Learning from Examples
OpenCV Advanced features
作者介紹
David Millán Escrivá was 8 years old when he wrote his first program on an 8086 PC in Basic, which enabled the 2D plotting of basic equations. In 2005, he finished his studies in IT with honors, through the Universitat Politécnica de Valencia, in human-computer interaction supported by computer vision with OpenCV (v0.96). He has worked with Blender, an open source, 3D software project, and on its first commercial movie, Plumiferos, as a computer graphics software developer. David has more than 10 years' experience in IT, with experience in computer vision, computer graphics, pattern recognition, and machine learning, working on different projects, and at different start-ups, and companies. He currently works as a researcher in computer vision.
Robert Laganiere is a professor at the University of Ottawa, Canada. He is also a faculty member of the VIVA research lab and is the coauthor of several scientific publications and patents in content-based video analysis, visual surveillance, driver-assistance, object detection, and tracking. He cofounded Visual Cortek, a video analytics start-up, which was later acquired by iWatchLife. He is also a consultant in computer vision and has assumed the role of chief scientist in a number of start-ups companies, including Cognivue Corp, iWatchLife, and Tempo Analytics. Robert has a Bachelor of Electrical Engineering degree from Ecole Polytechnique in Montreal (1987), and M.Sc. and Ph.D. degrees from INRS-Telecommunications, Montreal (1996).