Programming Computer Vision with Python

Programming Computer Vision with Python

By Jan Solem
Book Description

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

The final pre-production draft of the book (as of March 18, 2012) is available under a Creative Commons license. Note that this version does not have the final copy edits and last minute fixes. If you like the book, consider supporting O'Reilly and and the author by purchasing the official version.
Table of Contents
  • Preface
    • Prerequisites and Overview
    • Introduction to Computer Vision
    • Python and NumPy
    • Notation and Conventions
    • Acknowledgments
  • Basic Image Handling and Processing
    • PIL – the Python Imaging Library
    • Matplotlib
    • NumPy
    • SciPy
    • Advanced example: Image de-noising
  • Local Image Descriptors
    • Harris corner detector
    • SIFT - Scale-Invariant Feature Transform
    • Matching Geotagged Images
  • Image to Image Mappings
    • Homographies
    • Warping images
    • Creating Panoramas
  • Camera Models and Augmented Reality
    • The Pin-hole Camera Model
    • Camera Calibration
    • Pose Estimation from Planes and Markers
    • Augmented Reality
  • Multiple View Geometry
    • Epipolar Geometry
    • Computing with Cameras and 3D Structure
    • Multiple View Reconstruction
    • Stereo Images
  • Clustering Images
    • K-means Clustering
    • Hierarchical Clustering
    • Spectral Clustering
  • Searching Images
    • Content-based Image Retrieval
    • Visual Words
    • Indexing Images
    • Searching the Database for Images
    • Ranking Results using Geometry
    • Building Demos and Web Applications
  • Classifying Image Content
    • K-Nearest Neighbors
    • Bayes Classifier
    • Support Vector Machines
    • Optical Character Recognition
  • Image Segmentation
    • Graph Cuts
    • Segmentation using Clustering
    • Variational Methods
  • OpenCV
    • The OpenCV Python Interface
    • OpenCV Basics
    • Processing Video
    • Tracking
    • More Examples
  • Installing Packages
    • NumPy and SciPy
    • Matplotlib
    • PIL
    • LibSVM
    • OpenCV
    • VLFeat
    • PyGame
    • PyOpenGL
    • Pydot
    • Python-graph
    • Simplejson
    • PySQLite
    • CherryPy
  • Image Datasets
    • Flickr
    • Panoramio
    • Oxford Visual Geometry Group
    • University of Kentucky Recognition Benchmark Images
    • Other
  • Image Credits
    You May Also Like
    Also Available On
    Curated Lists