OpenCV 3 Blueprints

Build key computer vision applications with OpenCV 3. Kick start your computer vision projects with this power-packed book.


  • 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

I'm sold, I want to

In depth

Computer vision is becoming accessible to a large audience of software developers who can leverage mature libraries such as OpenCV. However, developers may struggle to ensure that their solutions are sufficiently well optimized, well trained, robust, and adaptive in real-world conditions. This book provides exactly that.

Getting more out of your camera

Squeezing pixels out of your camera - this chapter covers and compares kinds of cameras for different jobs. By the end, you'll know in fine detail what makes camera systems work and how you can exploit them for maximum performance.

Questions like how do we see fast changes in a scene, how do we see through the dark and how to purchase good lenses will be answered.

I'm sold, let me get a copy

Build a camera trap

Noticed how nature photographers have the perfect HDR shots of animals in the wild? In this chapter, you build a system that can let you do exactly that. Whether it is deer in your backyard or red pandas on your next hiking trip, you'll be able to capture amazing photographs.

These automated systems can be deployed wherever you go and let you capture National Geographic style photographs without safety concerns.

I'm sold, let me get a copy

Recognize facial expressions

As computer vision matures, understanding humans seems to be the next logical step. In this chapter, you learn about various machine learning and computer vision techniques to recognize if a person is happy, sad, disgusted, etc.

Humans can do this instinctively - after reading this chapter, you can get your CPU to achieve the same results!

I'm sold, let me get a copy

Panoramas on the Android NDK

Learn how to build panoramas using OpenCV's android port. This is one classic application for mobile vision systems whether on robots or on a consumer device. In this chapter, you'll learn about the details of Android, JNI and using OpenCV on such platforms.

A must if you're getting started with mobile app development and OpenCV.

I'm sold, let me get a copy

Object detection

This chapter talks about the Viola-Jones cascade classifier in depth. Not just training new classifiers but how to collect data is also covered. Rotation invariance in HAAR classifiers - something not supported by OpenCV at the moment - is also described and solved!

Later, we look at how to integrate the GPU into this operation and how it affects performance.

I'm sold, let me get a copy

Biometric authentication

If you were to build a biometric authentication system, how would you go about it? This chapter deals with face recognition, fingerprints and iris recognition. Also learn about the various machine learning techniqes - k-nearest, SVMs, neural networks and PCA.

This chapter is packed - 'nuff said!


I'm sold, let me get a copy

Gyroscopic video stabilization

Use a phone's gyroscope to stabilize a video. Using just feature points is not enough in real-life situations. Complement your feature points with motion data from the real-world. The chapter talks about acquiring two streams of data (video and motion) and processing them in synchronicity.

By the end, you'll be able to create Instagram's Hyperlapse style videos just with OpenCV!

I'm sold, let me get a copy

Meet the authors

Joseph Howse

Joseph heads Nummist Media, which specializes in software development and consulting for computer vision applications.

Steven Puttemans

Steven is pursuing a PhD from KU Leuven, where he focuses on combining computer vision with artificial intelligence.

Quan Hua

Quan lives in Vietnam and has a specialization in computer vision. He works at a robotics startup using computer vision.

Utkarsh Sinha

Utkarsh is currently pursuing a Masters in Computer Vision from Carnegie Mellon. He authors this website as well.

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!

What others are saying

Here's what social media says about books written by us.

If someone is really able to help you understand Image Processing, it is Utkarsh Sinha (AI Shack). I am sure this book will help us a lot in creating OpenCV 3 applications. See also his tutorial website:

Ruud van Munster

I'm loving OpenCV for Secret Agents. The projects are somehow simultaneously practical and ridiculous. Fantastic!

Tony Arkles

(...) What's more, I gained value from supplier recommendations, theoretical background, and clear steps to create projects in image processing, machine learning, application development, and more a couple of more advanced facial recognition and gyroscope methods. If you are serious about learning and developing image-based approaches and applications, this is a wonderful resource to get you started. review

Learn the fundaments of computer vision

Check out the ebook and paperback editions of the book.