Programming Computer Vision with Python and over 2 million other books are available for Amazon Kindle . Learn more
  • RRP: £33.50
  • You Save: £13.69 (41%)
FREE Delivery in the UK.
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon.
Gift-wrap available.
Programming Computer Visi... has been added to your Basket
+ £2.80 UK delivery
Used: Like New | Details
Condition: Used: Like New
Comment: 100% Money Back Guarantee. Brand New, Perfect Condition, FAST SHIPPING TO UK 2-9 business days, all other destinations please allow 4-14 business days for delivery. Over 1,000,000 customers served.
Trade in your item
Get a £7.00
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Programming Computer Vision with Python: Tools and algorithms for analyzing images Paperback – 29 Jun 2012

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
£16.63 £16.79

Frequently Bought Together

Programming Computer Vision with Python: Tools and algorithms for analyzing images + Practical Computer Vision with SimpleCV: The Simple Way to Make Technology See + OpenCV Computer Vision with Python
Price For All Three: £52.39

Buy the selected items together

Trade In this Item for up to £7.00
Trade in Programming Computer Vision with Python: Tools and algorithms for analyzing images for an Amazon Gift Card of up to £7.00, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 264 pages
  • Publisher: O'Reilly Media; 1 edition (29 Jun. 2012)
  • Language: English
  • ISBN-10: 1449316549
  • ISBN-13: 978-1449316549
  • Product Dimensions: 17.8 x 1.7 x 23.3 cm
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 389,617 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description

Book Description

Tools and algorithms for analyzing images

About the Author

Jan Erik Solem is a Python enthusiast and a computer vision researcher and entrepreneur. He is an applied mathematician and has worked as associate professor, startup CTO, and now also book author. He sometimes writes about computer vision and Python on his blog He has used Python for computer vision in teaching, research and industrial applications for many years. He currently lives in San Francisco.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4.5 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See both customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

1 of 1 people found the following review helpful By D. A. Robinson on 26 May 2014
Format: Paperback Verified Purchase
I wasn't sure whether to give this a 3 or 4 star rating. I have been in the field of DSP and Image Processing for many years, so am no slouch in the subject. I just needed a tome which would link my knowledge of Image Processing with my knowledge of Python. It so happened that the particular algorithms I was interested in were dealt with in this book, so almost within minutes I was up and running, so from this point of view it should be worth 5 * . But looking through the book, it seems to cover a random selection of techniques, and doesn't really explain what they are for, or any background to the algorithm. From that point of view it only rates say 3*. So I would say that if you know how to program in Python, and have a copy of say W. Pratt's "Digital Image Processing" in your library, its a reasonable purchase to link the 2. If however you are hoping to learn anything about Computer Vision from the book, then look elsewhere.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 7 people found the following review helpful By DDD on 24 Aug. 2012
Format: Paperback
What a great book!!!!!

I know I'm not impartial because I like computer vision, but this book really is a big supplement to computer vision classes you can have in college. The choice of the language used is also great for both the amount of programmers that use it, that also for the fluency of the programs created. Has to be mentioned that this book is for intermediate students how wants to do some other advanced stuff of computer vision usually not covered by specific classes. If you are kind of a mathematical person who like formulas and demostrations and wants to know more about the theory behind some example, it would be preferable complement this book with others (I remember Multiple View Geometry for example) that explains much better details the theory used.

Below you can find a brief explaination of each chapter in the book:

Chapter 1 - Basic Image Handling and Processing
This chapter simply explains what functionality are available for handle images using python and the PIL library provided. It also explains the other libraries used as Numpy, Scipy, Matplotlib

Chapter 2 - Local Image Descriptors
After a brief explanation of what are local image descriptor, the chapter explains the Harris and the Sift descriptors. The example of this chapter is to create a graph of relation between geotagged information retrived on panoramio.

Chapter 3 - Image to Image Mappings
In this chapter, homographies and affine transformation are explained. The method of Direct Linear Transformation Algorithm to find the homography based on correspondent points is explained. In case of affine transformation, fasted way to find the matrix with less correspondencies are described.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on (beta) 13 reviews
40 of 41 people found the following review helpful
Great Hands-on Introduction 16 Aug. 2012
By Patrick Mihelich - Published on
Format: Paperback
*** The Good ***

Opening the table of contents, I was immediately impressed by the
selection of topics. Computer vision is a broad field, and PCVwP manages
to cover plenty of ground. Over the course of few chapters you
automatically create panoramas, build an image search engine, implement
an optical sudoku solver, and more. The underlying theory is developed
and built upon as you go, so you never have too long of a slog before a
fun demo. I especially enjoyed how the author capped Chapter 4 on camera
models - pretty dry stuff, to be honest - with a demonstration of
augmented reality (placing 3D objects into images) using PyGame and OpenGL.

I paid special attention to Chapters 2, "Local Image Descriptors", and
7, "Searching Images"; I've implemented these algorithms myself. Both
are presented well. The author covers the theory accurately but
succinctly, without getting bogged down in detail. The image search
algorithm presented in the text is simplified but not dumbed down. In
fact, the ambitious reader who completes the end-of-chapter exercises
will have a pretty state of the art image retrieval system.

One of the book's strengths is the elegantly written code samples. They
are a great advertisement for Python as a scientific computing tool. I'm
personally most at home bit-banging in C++, but even with powerful
libraries (Boost, Eigen, OpenCV) it's hard to match the terseness of
Python. I appreciate the focus on free, open-source software, and the
star libraries in this book - Numpy, SciPy, Matplotlib - are
high-quality and well documented. MATLAB users, take notice.

As a developer of OpenCV (the Open Source Computer Vision Library), I
was happy to see it featured in the final chapter. OpenCV's Python
bindings were totally redone in the last couple years, but the book's
treatment is up-to-date. If the book inspires you, playing with OpenCV
is a logical next step.

*** The Bad ***

The omission of the Kinect disappointed me. Cheap, ubiquitous 3D sensing
(exemplified by the Kinect) has changed the game for the hobbyist
computer vision enthusiast. When it hit stores, it took only a month for
open-source hackers to gain access to the device. Ever since then we've
seen a steady stream of "Kinect Hacks" repurposing the sensor for
robotics, mapping, security, interactive displays - whatever you can
imagine. The author missed an opportunity here; a Chapter 11 introducing
libfreenect (or even OpenNI, its industrial counterpart) would have been
a great addition.

*** The Ugly ***

Computer vision is a math-heavy field, and the author isn't going to
hold your hand through the tough spots. Some basic linear algebra
knowledge (working with matrices and vectors) is necessary to get much
out of the book. Depending on the example, you'll get concepts from
statistics, signal processing and optimization theory thrown at you. To
be fair, you don't need to understand everything to get the gist and
appreciate the examples, and Wikipedia is your friend.

If computer vision intrigues you - and it should! - I recommend PCVwP
highly. It's fun, hands-on, and covers a remarkable amount of ground in
its brisk 10 chapters.
6 of 6 people found the following review helpful
An excellent hands-on introduction to topics in computer vision 9 Sept. 2012
By Christopher Lee-Messer - Published on
Format: Paperback
I have a background in computer vision and I wanted to learn more about topics like multi-view geometry methods, so, for my purposes, Solem's book was a dream come true. The first five chapters lead you through a series of important mathematical and software tools which make multi-view 3D reconstructions a natural and practical application. I was doing it myself by the end of chapter five. The example code is clear and from the author's website and via github.
I had a great time reading the book and going through the programming exercises. I can recommend the book strongly. I just wish I could figure out to whom to recommend it!

The practical step by step approach that Solem uses allowed me to dig into the math behind the algorithms while being able to play with working code. This is a great way to learn. So I can imagine that for a college or graduate student, in the right sort of course, the book would be invaluable. It requires a little linear algebra, geometry and familiarity with vector spaces. I can imagine another audience for this book: the smart, ambitious programmer who wants to use computer vision as part of his or her cool-new-product. The book also covers classifying and searching images using various approaches, along with image segmentation techniques and an introduction to the OpenCV library for speed in a realtime object tracking application.. It even discusses building web applications which make use of these techniques.

The book is definitely not a stand-alone textbook; it leaves out a the sort of wider perspective that a course or textbook would provide. This isn't a criticism per se, but I think the book would have benefited from short asides of the sort used in some books which highlight the context and the motivations behind the algorithms.

For example, one of the fundamental problems in computer vision is the correspondence problem: how do you know if one point on a object in an image corresponds to the same point in another image taken from a different position in space or time. Years of work and hundreds or possibly thousands of doctoral theses have devoted themselves to different ways of attempting to solve this problem. It is one of the fundamental (so-called) ill-posed inverse problems of vision. (It's called "ill-posed" because there is not sufficient information in the images to generate a unique solution.) In chapter 2, Solem introduces a series of local feature detectors, culminating with the Scale-Invariant Feature Transform (SIFT). The presentation is so matter-of-fact that you wouldn't know that SIFT and similar algorithms are a major advance forward in solving this fundamental problem.

So far, I haven't mentioned the other strength of the book, which is Python itself and its surrounding scientific programming ecology. For years, Python been one of the clearest and most re-usable of interactive programming languages. With the evolution of tools and libraries such scipy, IPython, sage, and the scikits, we have entered a golden age for doing numerical work in Python.

It was a pleasure to be able to read through the book with an IPython notebook open, so that I could interact with the code as I read. The notebook format left me with beautiful, publication quality graphs and images and typeset mathematics based upon the book's examples, and recorded my work on exercises and my own experiments. I wouldn't be surprised if, in the future, similar books include IPython notebooks as part of their teaching materials.

What is left out of the Solem's discussion is some of the other major packages for computer vision and machine learning. There's scikit-learn, scikit-image, Luis Coelho's Mahotas, and the UC Davis Cell Profiler library as well as many other libraries from research groups which develop primarily in other languages but which have Python bindings. But computer vision is a big subject, and any finite sized book needs some focus. The bibliographic references are more than enough if one wants to learn more. Certainly, whether you are a student, an ambitious app developer, or a "recreational" computer scientist like myself, Solem's book will be a useful and fun addition to your bookshelf.

Technical information

The book is published by O'Reilly and has O'Reilly's distinctive look-and-feel with bullhead catfish as the animal on the front cover. I read the ebook version as a PDF without difficulty on computer screen. The style is easy to read, focused, but not overly formal. The quality of the editing was good and the code examples worked. Setup of the software and how to obtain the data sets used in the examples is covered in the appendices and is easy for an experienced Python user with an Internet connection. I'm not sure how easy it would be for someone completely new to Python, numpy, and scipy. Those with access to a well supported Linux distribution have it easy as all the packages are installed with a single click. Packaged distributions like Enthought Python (Windows, Mac, and Linux) and Pythonxy (Windows) get you most of the way.
3 of 3 people found the following review helpful
A great addition to your Python library 15 Aug. 2012
By jwegis - Published on
Format: Kindle Edition
I reviewed the electronic (PDF) version of "Programming Computer Vision with Python" by Jan Erik Solem. The PDF version is 247 pages (not counting the Table of Contents and Preface). The first 226 pages of content are split across ten chapters with the remaining 21 pages making up the Appendix, References, and Index. I found the PDF version very readable on a 15" laptop in two-page mode. The book is an appropriate level for beginning to intermediate software developers. While experience with Python would be helpful, the examples included are very readable and can be comprehended without much difficulty. A background in math or computer graphics/vision would also be helpful, but not essential. Be prepared to refresh your trigonometry, calculus and linear algebra skills.

I was initially drawn to chapter seven on searching images, but was quickly sucked into the other chapters on image processing, point and image transformation, OCR, working with camera models and viewpoints, clustering and classifying of images and camera and video input using OpenCV. Each chapter has a nice balance between problem description and analysis, mathematical theory and explanation as well as succinct, relevant, real-world coding examples. The book also includeds exercises and suggestions at end of each chapter for expanding upon techniques just learned. I found the artwork to be crisp and clean and really helpful for illustrating the concepts and techniques presented. The coding samples included in the book are downloadable from the O'Reilly website.

I enjoyed reading and reviewing this book and it is a great addition to my Python library.
7 of 9 people found the following review helpful
In depth book on a deep subject 6 Aug. 2012
By Hernan Garcia - Published on
Format: Paperback
If you ever wondered how to analyze and image to recognize shapes and objects, how to search on them or how to build a panoramic view from a series of pictures (among other things) this is the book for you.
Jan Erik Solem takes the challenge and with the help of a bunch of Python modules show you how to solve those and other problems.

There is a lot of math in the book and you should be comfortable reading it or at least understanding it at a high level.
I found myself skipping some paragraphs and sometime whole pages here and there when the author went a bit to deep for me to follow along.

The problem on doing so is that the math will help you to understand what the code is doing, so you will have to go back and read the parts you skipped if you really want to understand what's going on.
High information density 28 Jun. 2014
By Casper Chauncey - Published on
Format: Paperback Verified Purchase
This book has a LOT of information packed into a small space, especially if you are new to computer vision and/or the math involved. I have found myself spending several days studying a single page, which includes looking up terms, checking Wikipedia etc. for more details, or trying out the code examples.

I guess that could be good or bad depending on how much work you're willing to do. For me it has been, overall, good.

Two things I don't like: the examples and the printing.

The examples: Many computer books either come with a CD that has the code examples on it, or gives a link to a website. Not this one. You have to hand type the code examples which may be 10 to 50 lines. Also the sample images don't seem to be available so you can't replicate the book's results.

The printing: For a topic like vision, with many sample photos throughout, color would seem to be important. But this book is printed in black and white. What's worse, many of the pages seem to have been systematically smudged. I don't know if this is unique to my copy, but many of the pages seem to be marked with a circular smear that seems to have been made while the ink was still damp. There may be several such smears on a single page, some of then smudging the images that are purportedly showing you the result of the latest image manipulation technique. To say this reduces the value of the example is an understatement.

So I guess I would give the author a 5 (best rating) and the printer or publisher a 2.
Were these reviews helpful? Let us know