Programming Computer Vision with Python – A good introduction to tools & algorithms for analyzing images – #bookreview

Programming Computer Vision with Python
Jan Erik Solem
(O’Reilly, paperbackKindle)

“Computer vision,” Jan Erik Solem states in his new book, “is the automated extraction of information from images.” That information, he adds, “can mean anything from 3D models, camera positions, object detection and recognition to grouping and searching image content.”

His text takes “a wide definition of computer vision and include[s] things like image warping, de-noising, and augmented reality.” But he concedes: “Practical computer vision contains a mix of programming, modeling, and mathematics and is sometimes difficult to grasp.”

Fortunately, Programming Computer Vision with Python stays deliberately light on theory and focuses on providing complete code examples, some fundamental algorithms, and numerous illustrations that help explain and demonstrate key concepts. The book is written well and nicely organized, and the code examples mostly are not very lengthy and can be downloaded from a link provided in the book.

A caution: The code examples are written in 2.x Python (you will need 2.6 or later) and are not compatible with 3.x Python. And a second caution: The author’s idea of “basic mathematics” includes knowing about “matrices, vectors, matrix multiplication, and standard mathematical functions and concepts like derivatives and gradients.” He emphasizes, however: “Readers can skip the math if they like and still use the example code.”

If you want to explore the basics of computer vision and improve your Python 2.x skills, this 247-page book likely can keep you busy and challenged for a good while. The code examples focus on “object recognition, content-based image retrieval, image search, optical character recognition, optical flow, tracking, 3D reconstruction, stereo imaging, augmented reality, pose estimation, panorama creation, image segmentation, de-noising, image grouping, and more.” Whew!

The chapters in Programming Computer Vision with Python are:

  • 1.      Basic Image Handling and Processing
  • 2.      Local Image Description
  • 3.      Image to Image Mapping
  • 4.      Camera Models and Augmented Reality
  • 5.      Multiple View Geometry
  • 6.      Clustering Images
  • 7.      Searching Images
  • 8.      Classifying Image Content
  • 9.      Image Segmentation
  • 10.  Open CV

If you are new to the Python programming language, Solem recommends both the online documentation at and the Mark Lutz book, Learning Python.

Si Dunn


  • Si Dunn is a novelist, screenwriter, photojournalist, and book reviewer. His published books include: DARK SIGNALS, a Vietnam War memoir; ERWIN'S LAW, a private-detective novel; and JUMP, a novella about a combat veteran suffering from PTSD and alienation while trying to work for newspapers as a journalist. Several of his feature screenplays recently were under option to movie producers. He spent nearly 15 years working as a technical writer and software tester in the telecommunications industry. His current programming interests include Go, JavaScript, Python, R, Angular, and other languages and frameworks. He is a U.S. Navy veteran and a graduate of the University of North Texas.

Leave a Reply

%d bloggers like this: