OpenCV 3 Blueprints

More Information
  • Select and configure camera systems to see invisible light, fast motion, and distant objects
  • Build a “camera trap”, as used by nature photographers, and process photos to create beautiful effects
  • Develop a facial expression recognition system with various feature extraction techniques and machine learning methods
  • Build a panorama Android application using the OpenCV stitching module in C++ with NDK support
  • Optimize your object detection model, make it rotation invariant, and apply scene-specific constraints to make it faster and more robust
  • Create a person identification and registration system based on biometric properties of that person, such as their fingerprint, iris, and face
  • Fuse data from videos and gyroscopes to stabilize videos shot from your mobile phone and create hyperlapse style videos

Computer vision is becoming accessible to a large audience of software developers who can leverage mature libraries such as OpenCV. However, as they move beyond their first experiments in computer vision, developers may struggle to ensure that their solutions are sufficiently well optimized, well trained, robust, and adaptive in real-world conditions. With sufficient knowledge of OpenCV, these developers will have enough confidence to go about creating projects in the field of computer vision.

This book will help you tackle increasingly challenging computer vision problems that you may face in your careers. It makes use of OpenCV 3 to work around some interesting projects. Inside these pages, you will find practical and innovative approaches that are battle-tested in the authors’ industry experience and research. Each chapter covers the theory and practice of multiple complementary approaches so that you will be able to choose wisely in your future projects. You will also gain insights into the architecture and algorithms that underpin OpenCV’s functionality.

We begin by taking a critical look at inputs in order to decide which kinds of light, cameras, lenses, and image formats are best suited to a given purpose. We proceed to consider the finer aspects of computational photography as we build an automated camera to assist nature photographers. You will gain a deep understanding of some of the most widely applicable and reliable techniques in object detection, feature selection, tracking, and even biometric recognition. We will also build Android projects in which we explore the complexities of camera motion: first in panoramic image stitching and then in video stabilization.

By the end of the book, you will have a much richer understanding of imaging, motion, machine learning, and the architecture of computer vision libraries and applications!

  • Build computer vision projects to capture high-quality image data, detect and track objects, process the actions of humans or animals, and much more
  • Discover practical and interesting innovations in computer vision while building atop a mature open-source library, OpenCV 3
  • Familiarize yourself with multiple approaches and theories wherever critical decisions need to be made
Page Count 382
Course Length 11 hours 27 minutes
ISBN 9781784399757
Date Of Publication 10 Nov 2015


Joseph Howse

Joseph Howse lives in a Canadian fishing village with four cats; the cats like fish, but they prefer chicken.

Joseph provides computer vision expertise through his company, Nummist Media. His books include OpenCV 4 for Secret Agents, OpenCV 3 Blueprints, Android Application Programming with OpenCV 3, iOS Application Development with OpenCV 3, Learning OpenCV 3 Computer Vision with Python, and Python Game Programming by Example, published by Packt.

Steven Puttemans

Steven Puttemans is a PhD research candidate at the KU Leuven, Department of Industrial Engineering Sciences. At this university, he is working for the EAVISE research group, which focuses on combining computer vision and artificial intelligence. He obtained a master of science degree in Electronics-ICT and further expanded his interest in computer vision by obtaining a master of science in artificial intelligence.

As an enthusiastic researcher, his goal is to combine state-of-the-art computer vision algorithms with real-life industrial problems to provide robust and complete object detection solutions for the industry. His previous projects include TOBCAT, an open source object detection framework for industrial object detection problems, and a variety of smaller computer vision-based industrial projects. During these projects, Steven worked closely with the industry.

Steven is also an active participant in the OpenCV community. He is a moderator of the OpenCV Q&A forum, and has submitted or reviewed many bug fixes and improvements for OpenCV 3. He also focuses on putting as much of his research as possible back into the framework to further support the open source spirit.

More info about Steven's research, projects, and interests can be found at

Quan Hua

Quan Hua is a Computer Vision and Machine Learning Engineer at BodiData, a data platform for body measurements, where he focuses on developing computer vision and machine learning applications for a handheld technology capable of acquiring a body avatar while a person is fully clothed. He earned a bachelor of science degree from the University of Science, Vietnam, specializing in Computer Vision. He has been working in the field of computer vision and machine learning for about 3 years at start-ups. Quan has been writing for Packt since 2015 for a Computer Vision book, OpenCV 3 Blueprints.

Utkarsh Sinha

Utkarsh Sinha lives in Pittsburgh, Pennsylvania, where he is pursuing a master's in computer vision at Carnegie Mellon University. He intends to learn the state of the art of computer vision at the university and work on real-life industrial scale computer vision challenges.

Before joining CMU, he worked as a Technical Director at Dreamworks Animation on movies such as Home, How to Train your Dragon 2, and Madagascar 3. His work spans multiple movies and multiple generations of graphics technology.

He earned his bachelor of engineering degree in computer science and his master of science degree in mathematics from BITS-Pilani, Goa. He has been working in the field of computer vision for about 6 years as a consultant and as a software engineer at start-ups.

He blogs at about various topics in technology—most of which revolve around computer vision. He also publishes computer vision tutorials on the Internet through his website, AI Shack ( His articles help people understand concepts in computer vision every day.