Programming Computer Vision with Python
Tools and algorithms for analyzing images
Publisher: O'Reilly Media
Final Release Date: June 2012
Pages: 264

If you want a basic understanding of computer vision’s underlying theory and algorithms, this hands-on introduction is the ideal place to start. You’ll learn techniques for object recognition, 3D reconstruction, stereo imaging, augmented reality, and other computer vision applications as you follow clear examples written in Python.

Programming Computer Vision with Python explains computer vision in broad terms that won’t bog you down in theory. You get complete code samples with explanations on how to reproduce and build upon each example, along with exercises to help you apply what you’ve learned. This book is ideal for students, researchers, and enthusiasts with basic programming and standard mathematical skills.

  • Learn techniques used in robot navigation, medical image analysis, and other computer vision applications
  • Work with image mappings and transforms, such as texture warping and panorama creation
  • Compute 3D reconstructions from several images of the same scene
  • Organize images based on similarity or content, using clustering methods
  • Build efficient image retrieval techniques to search for images based on visual content
  • Use algorithms to classify image content and recognize objects
  • Access the popular OpenCV library through a Python interface
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyProgramming Computer Vision with Python
 
3.8

(based on 8 reviews)

Ratings Distribution

  • 5 Stars

     

    (5)

  • 4 Stars

     

    (0)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (2)

  • 1 Stars

     

    (1)

63%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (5)
  • Easy to understand (4)
  • Well-written (4)

Cons

  • Difficult to understand (3)
  • Not comprehensive enough (3)

Best Uses

  • Intermediate (7)
  • Novice (4)
    • Reviewer Profile:
    • Developer (6)

Reviewed by 8 customers

Sort by

Displaying reviews 1-8

Back to top

(1 of 2 customers found this review helpful)

 
2.0

Not for a novice in computer graphics

By Nick

from Gilbert, AZ

About Me Developer

Pros

    Cons

    • Difficult to understand
    • Not comprehensive enough

    Best Uses

    • Expert
    • Intermediate

    Comments about oreilly Programming Computer Vision with Python:

    NOT for the novice. This books feels like it is missing a chapter or two between the introduction and chapter 1. While this may be an introductory book for a graphic artist with some python experience, or someone who has dealt with computer graphics, this books does not lend itself well to a python programmer who has little experience with computer images. Concepts like image dimensionality and rasterization are used without any explanation. I feel this books would do well with an extra chapter at the beginning explaining modern computer imaging and short definitions of terminology.

    (1 of 2 customers found this review helpful)

     
    5.0

    Perfect Toolbox

    By vindaomeo

    from vienna, austria

    About Me Designer, Developer

    Verified Reviewer

    Pros

    • Accurate
    • Developer
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Intermediate

      Comments about oreilly Programming Computer Vision with Python:

      The book is a perfect toolbox for computer aided picture processing. You need some basic python knowledge to understand the examples - its not a beginners guide! But beside this all the chapters a very good starting point to get solutions for your application.

      (4 of 6 customers found this review helpful)

       
      2.0

      Good...if you can get the code to work

      By reader

      from Los Angeles, CA

      About Me Developer

      Verified Reviewer

      Pros

      • Concise

      Cons

      • Difficult to understand
      • Not comprehensive enough

      Best Uses

      • Intermediate
      • Novice

      Comments about oreilly Programming Computer Vision with Python:

      Can you please provide working example .py files for all the examples in the book?

      I find the subject interesting. The book covers a lot of topics in a short amount of time. Because of this fact, it is obvious you cannot go in depth what each term means. The code is relatively small and easy...once it is working. The problem is the book is written in what I would call "note form".

      It makes a lot of assumption on the part of the reader. Something that maybe obvious to the author, or someone well-versed in the subject. It is not obvious to a new user. I am getting the code to work, but after hours of debugging. I feel I should not have to go through all this trouble. The examples in the book should already be made and available. I want to focus on learning what the functions do with working examples, not trying to get something I don't know about to work. The code is given in snippets and the name of the files they should be in are never specified.

      The book would also do things like "from this point on, just assume we will import files..."
      I understand some of you might say, "he mentioned to do that in chapter 1, so pay attention." I am sorry, I am not a master of this subject yet. Making assumptions right off the bat isn't a good idea. After coming back to it a few days later, I forget. It doesn't take much to just have the correct lines of code for every example. The argument of keeping the examples short is useless if the user can't get it to work and have to go back pages to find that one note mentions the assumption he should remember to get all the subsequent examples to work.

      With that said, everything else is very good. I would give it a much higher score if final working examples are given. At least I can compare what I did wrong against what is the correct way to do it.

      Can you please provide working example .py files for all the examples in the book? It will make the learning experience so much easier.

      (3 of 3 customers found this review helpful)

       
      5.0

      Excellent book for teaching and research

      By Dan

      from Copenhagen

      About Me Developer, Educator

      Verified Reviewer

      Pros

      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Intermediate
        • Novice
        • Student

        Comments about oreilly Programming Computer Vision with Python:

        Programming Computer Vision with Python covers valuable aspects of computer vision.

        I have used the book for our introductory course in computer vision using python. Python is a convenient language for this purpose, being easy to understand and use.

        With this book I found that the students much easier could relate theory and practice due to the book being well-written and with lots excellent examples. The book explains theory but it is through the many example that the students really make good stuff happen.

        There is no doubt that the author knows both theory and practice of computer vision, but he also posses good paedagogical skills.

        The book is clear, fun and definitely worth to read for students and others interested in computer vision.

        (2 of 16 customers found this review helpful)

         
        1.0

        below average

        By sfp300

        from austin tx

        Pros

          Cons

          • Difficult to understand
          • Not comprehensive enough

          Best Uses

          • Expert

          Comments about oreilly Programming Computer Vision with Python:

          This books is written very fast with no reviews. The examples don't work. some of them are copies from a web site somewhere. It is a really poorly written books. don't buy it. You need to rw-write the code and do your own debugging. the code imports modules and doesn't follow best practices, so you don't know where show() came from.

          (2 of 2 customers found this review helpful)

           
          5.0

          Practical and fun

          By Peter

          from Melbourne

          About Me Developer

          Verified Reviewer

          Pros

          • Easy to understand
          • Helpful examples
          • Well-written

          Cons

            Best Uses

            • Intermediate
            • Novice

            Comments about oreilly Programming Computer Vision with Python:

            Programming Computer Vision with Python covers the foundations of computer vision along with numerous interesting and practical examples.

            Topics covered include:

            Basic image handling and processing in Python
            Image descriptors and points of interest
            Image mapping and homographies
            Augmented reality
            3D scene reconstruction
            Clustering, searching and classifying images
            Image segmentation and
            Interfacing to OpenCV

            Python forms an integral part of this book and is used throughout the book. It is an ideal language for this purpose, being easy to understand and with excellent libraries. The scientific library numpy is used extensively.

            This book is well-written, easy to understand and a lot of fun. There was a heavy emphasis on practicality which I appreciated.

            Typically the theory would first be explained in text, then implemented in code. Finally a practical example would demonstrate how to apply the theory.

            There are some great examples. This is where the book shines.

            For instance, in the chapter on image classification, we are given an image of a Sudoku. The grid location is first determined, then the contents of each cell in the grid are classified into digits.

            It was great to see some machine learning algorithms applied to real problems. PCA (Principal Component Analysis) is used extensively. SVM (Support Vector Machines) and the Naive Bayes Classifier are also used to solve real computer vision problems.

            The author clearly knows his stuff, often pointing out pitfalls and demonstrating many handy tricks.

            A very enjoyable and recommended introduction to the world of computer vision.

            Note: This book was provided by O'Reilly Media as part of their blogger review program.

            (1 of 2 customers found this review helpful)

             
            5.0

            My Review of Programming CV with Python

            By hfb

            from Nashua, NH

            About Me Enginner

            Verified Reviewer

            Pros

            • Easy to understand
            • Helpful examples

            Cons

              Best Uses

              • Intermediate

              Comments about oreilly Programming Computer Vision with Python:

              For those familiar with Python, this is a good way of getting to know how to do computer vision. If you don't know Python, learn that first. There are plenty of good books for that.
              The examples in here are well done and I felt they did a pretty good job of helping you through the book. It does take some time to go through but it's a good way to learn how computer vision works.

              Disclaimer: This book was received as part of the O'Reilly Blogger Review Program. All comments represent my thoughts and opinions.

              (4 of 4 customers found this review helpful)

               
              5.0

              A great addition to your Python library

              By jwegis

              from San Francisco

              About Me Developer

              Verified Reviewer

              Pros

              • Concise
              • Helpful examples
              • Well-written

              Cons

                Best Uses

                • Intermediate
                • Novice
                • Student

                Comments about oreilly Programming Computer Vision with Python:

                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.

                Displaying reviews 1-8

                Back to top

                 
                Buy 2 Get 1 Free Free Shipping Guarantee
                Buying Options
                Immediate Access - Go Digital what's this?
                Ebook: $42.99
                Formats:  DAISY, ePub, Mobi, PDF
                Print & Ebook: $54.99
                Print: $49.99