OpenCV with Python Blueprints

Front Cover
Packt Publishing Ltd, Oct 19, 2015 - Computers - 230 pages

Design and develop advanced computer vision projects using OpenCV with Python

About This Book
  • Program advanced computer vision applications in Python using different features of the OpenCV library
  • Practical end-to-end project covering an important computer vision problem
  • All projects in the book include a step-by-step guide to create computer vision applications
Who This Book Is For

This book is for intermediate users of OpenCV who aim to master their skills by developing advanced practical applications. Readers are expected to be familiar with OpenCV's concepts and Python libraries. Basic knowledge of Python programming is expected and assumed.

What You Will Learn
  • Generate real-time visual effects using different filters and image manipulation techniques such as dodging and burning
  • Recognize hand gestures in real time and perform hand-shape analysis based on the output of a Microsoft Kinect sensor
  • Learn feature extraction and feature matching for tracking arbitrary objects of interest
  • Reconstruct a 3D real-world scene from 2D camera motion and common camera reprojection techniques
  • Track visually salient objects by searching for and focusing on important regions of an image
  • Detect faces using a cascade classifier and recognize emotional expressions in human faces using multi-layer peceptrons (MLPs)
  • Recognize street signs using a multi-class adaptation of support vector machines (SVMs)
  • Strengthen your OpenCV2 skills and learn how to use new OpenCV3 features
In Detail

OpenCV is a native cross platform C++ Library for computer vision, machine learning, and image processing. It is increasingly being adopted in Python for development. OpenCV has C++/C, Python, and Java interfaces with support for Windows, Linux, Mac, iOS, and Android. Developers using OpenCV build applications to process visual data; this can include live streaming data from a device like a camera, such as photographs or videos. OpenCV offers extensive libraries with over 500 functions

This book demonstrates how to develop a series of intermediate to advanced projects using OpenCV and Python, rather than teaching the core concepts of OpenCV in theoretical lessons. Instead, the working projects developed in this book teach the reader how to apply their theoretical knowledge to topics such as image manipulation, augmented reality, object tracking, 3D scene reconstruction, statistical learning, and object categorization.

By the end of this book, readers will be OpenCV experts whose newly gained experience allows them to develop their own advanced computer vision applications.

Style and approach

This book covers independent hands-on projects that teach important computer vision concepts like image processing and machine learning for OpenCV with multiple examples.

 

What people are saying - Write a review

User ratings

5 stars
5
4 stars
0
3 stars
0
2 stars
0
1 star
0

User Review - Flag as inappropriate

Fantastic book with a great balance of theory/concepts vs. advanced hands-on examples. Thanks to Python the project code is slim and agile. This is so far the best written and most comprehensive modern OpenCV book I've seen. Strongly recommend to readers with basic knowledge of Python, computer vision, and machine learning. 

Contents

Fun with Filters
1
Hand Gesture Recognition Using a Kinect Depth Sensor
25
Finding Objects via Feature Matching and Perspective Transforms
47
3D Scene Reconstruction Using Structure from Motion
71
Tracking Visually Salient Objects
101
Learning to Recognize Traffic Signs
129
Learning to Recognize Emotion in Faces
163
Index
201
Copyright

Other editions - View all

Common terms and phrases

About the author (2015)

Michael Beyeler is a PhD candidate in the department of computer science at the University of California, Irvine, where he is working on computational models of the brain as well as their integration into autonomous brain-inspired robots. His work on vision-based navigation, learning, and cognition has been presented at IEEE conferences and published in international journals. Currently, he is one of the main developers of CARLsim, an open source GPGPU spiking neural network simulator. This is his first technical book that, in contrast to his (or any) dissertation, might actually be read. Michael has professional programming experience in Python, C/C++, CUDA, MATLAB, and Android. Born and raised in Switzerland, he received a BSc degree in electrical engineering and information technology, as well as a MSc degree in biomedical engineering from ETH Zurich. When he is not "nerding out" on robots, he can be found on top of a snowy mountain, in front of a live band, or behind the piano.

Bibliographic information