Learning OpenCV: Computer Vision using the OpenCV Library

Vital information

  • Authors: Gary Bradasky, Adrian Kaehler
  • Language: English
  • ISBN-10: 0596516134
  • ISBN-13: 978-0596516130
  • Publisher: O'Reilly Media; 1st edition (September 24, 2008)
  • Paperback with 555 pages

My review

Learning OpenCV is one of those books if you're getting started with computer vision and OpenCV. The book has been written by the creators of OpenCV themselves, so you can't have a better source to learn from. Obviously, the book goes into great detail about how to use OpenCV, its functions and the various little nuisances that you need to know.

Apart from this, the book goes in extreme detail when explaining how various vision algorithms work! Complete with understandable math! So not only do you learn to use OpenCV, you even learn a lot of key concepts and how computer vision works! That, I think, is the best thing about the book!

The book is made up of 14 chapters:

  1. Overview
  2. Introduction to OpenCV
  3. Getting to know OpenCV
  4. HighGUI
  5. Image Processing
  6. Image Transforms
  7. Histograms and Matching
  8. Contours
  9. Image Parts and Segmentation
  10. Tracking and Motion
  11. Camera Models and Calibration
  12. Projection and 3D Vision
  13. Machine Learning
  14. OpenCV's Future

The first three chapters take you through the installation procedure and tell you about the basics of OpenCV. Stuff like what each data member of IplImage means, doing some generic manipulations with matrices, drawing lines, circles, fonts, etc. The basic stuff.

Chapter 4 takes you through HighGUI. Things like reading images, creating windows and writing videos from within your application.

The real stuff starts from chapter 5. You're presented some algorithms and techniques fundamental to image processing and computer vision. Flood fill, morphological operations, image pyramids, etc are all covered here.

Chapter 6 takes you through convolutions and deals with gradients, Sobel, Canny, Hough, DFT, DCT, integral images, etc.

Chapter 7 and 8 are about histograms, template matching and contours. They've got some solid explanations in these chapters. Plus, they've got an explanation about how CvSeq works (the linked list of OpenCV). Chapter 9 deals with image segmentation.

Chapter 10 onwards is advanced stuff: corners, optical flow, estimators, correcting camera distortions. All of these culminate to stereo vision in chapter 12.

Chapter 13 is about machine learning. k-Means, HAAR Classifiers, Binary decision trees, etc.

Chapter 14 talks some really advanced stuff. The authors just give you a hint about whats possible and what can happen in OpenCV's future. This chapter makes for a very inspirational/motivational chapter as the book ends! :)

The authors mention three ways of making your way though the book

  • The grab bag (read 1-3, and then read whatever you want)
  • Good progress (read 2 chapters a week)
  • The sprint (read as fast as you can :P)

I've personally used the grab bag "method". It's great to be able to know a few things and be able to read anything in the entire book!

Related posts

Implemention in OpenCV

Here's a simple task - given an image find the dominant colors in the image. I'll walk you through a lesser known technique that does not use kmeans.

Utkarsh Sinha created AI Shack in 2010 and has since been working on computer vision and related fields. He is currently at Carnegie Mellon University studying computer vision.