Book Image

Mastering OpenCV with Practical Computer Vision Projects

By : Mora Saragih, Eugene Khvedchenia, Daniel L√É∆í¬©lis Baggio, Shervin Emami, Khvedchenia Ievgen, Jason Saragih, Daniel Lelis Baggio, OpenCV Project, David Millán Escrivá, Roy Shilkrot, Naureen Mahmood
Book Image

Mastering OpenCV with Practical Computer Vision Projects

By: Mora Saragih, Eugene Khvedchenia, Daniel L√É∆í¬©lis Baggio, Shervin Emami, Khvedchenia Ievgen, Jason Saragih, Daniel Lelis Baggio, OpenCV Project, David Millán Escrivá, Roy Shilkrot, Naureen Mahmood

Overview of this book

Computer Vision is fast becoming an important technology and is used in Mars robots, national security systems, automated factories, driver-less cars, and medical image analysis to new forms of human-computer interaction. OpenCV is the most common library for computer vision, providing hundreds of complex and fast algorithms. But it has a steep learning curve and limited in-depth tutorials.Mastering OpenCV with Practical Computer Vision Projects is the perfect book for developers with just basic OpenCV skills who want to try practical computer vision projects, as well as the seasoned OpenCV experts who want to add more Computer Vision topics to their skill set or gain more experience with OpenCV's new C++ interface before migrating from the C API to the C++ API.Each chapter is a separate project including the necessary background knowledge, so try them all one-by-one or jump straight to the projects you're most interested in.Create working prototypes from this book including real-time mobile apps, Augmented Reality, 3D shape from video, or track faces & eyes, fluid wall using Kinect, number plate recognition and so on. Mastering OpenCV with Practical Computer Vision Projects gives you rapid training in nine computer vision areas with useful projects.
Table of Contents (15 chapters)
Mastering OpenCV with Practical Computer Vision Projects
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Application infrastructure


So far, we've learned how to detect a pattern and estimate its 3D position with regards to the camera. Now it's time to show how to put these algorithms into a real application. So our goal for this section is to show how to use OpenCV to capture a video from a web camera and create the visualization context for 3D rendering.

As our goal is to show how to use key features of marker-less AR, we will create a simple command-line application that will be capable of detecting arbitrary pattern images either in a video sequence or in still images.

To hold all image-processing logic and intermediate data, we introduce the ARPipeline class. It's a root object that holds all subcomponents necessary for augmented reality and performs all processing routines on the input frames. The following is a UML diagram of ARPipeline and its subcomponents:

It consists of:

  • The camera-calibration object

  • An Instance of the pattern-detector object

  • A trained pattern object

  • Intermediate data of...