Practical Computer Vision with SimpleCV

Book description

Learn how to build your own computer vision (CV) applications quickly and easily with SimpleCV, an open source framework written in Python. Through examples of real-world applications, this hands-on guide introduces you to basic CV techniques for collecting, processing, and analyzing streaming digital images. You’ll then learn how to apply these methods with SimpleCV, using sample Python code. All you need to get started is a Windows, Mac, or Linux system, and a willingness to put CV to work in a variety of ways. Programming experience is optional.

  • Capture images from several sources, including webcams, smartphones, and Kinect
  • Filter image input so your application processes only necessary information
  • Manipulate images by performing basic arithmetic on pixel values
  • Use feature detection techniques to focus on interesting parts of an image
  • Work with several features in a single image, using the NumPy and SciPy Python libraries
  • Learn about optical flow to identify objects that change between two image frames
  • Use SimpleCV’s command line and code editor to run examples and test techniques

Table of contents

  1. Practical Computer Vision with SimpleCV
  2. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  3. Preface
    1. Conventions Used in This Book
    2. Using Code Examples
    3. Safari® Books Online
    4. How to Contact Us
  4. 1. Introduction
    1. Why Learn Computer Vision
    2. What Is the SimpleCV Framework?
    3. What Is Computer Vision?
    4. Easy Versus Hard Problems
    5. What Is a Vision System?
      1. Filtering Input
      2. Extracting Features and Information
  5. 2. Getting to Know the SimpleCV Framework
    1. Installation
      1. Windows
      2. Mac
      3. Linux
      4. Installation from Source
    2. Hello World
    3. The SimpleCV Shell
      1. Basics of the Shell
      2. The Shell and The Filesystem
    4. Introduction to the Camera
      1. A Live Camera Feed
    5. The Display
    6. Examples
      1. Time-Lapse Photography
      2. A Photo Booth Application
  6. 3. Image Sources
    1. Overview
    2. Images, Image Sets, and Video
      1. Sets of Images
    3. The Local Camera Revisited
    4. The XBox Kinect
      1. Installation
      2. Using the Kinect
      3. Kinect Examples
    5. Networked Cameras
      1. IP Camera Examples
    6. Using Existing Images
      1. Virtual Cameras
    7. Examples
      1. Converting Set of Images
      2. Segmentation with the Kinect
      3. Kinect for Measurement
      4. Multiple IP Cameras
  7. 4. Pixels and Images
    1. Pixels
    2. Images
      1. Bitmaps and Pixels
      2. Image Scaling
      3. Image Cropping
      4. Image Slicing
    3. Transforming Perspectives: Rotate, Warp, and Shear
      1. Spin, Spin, Spin Around
      2. Flipping Images
      3. Shears and Warps
    4. Image Morphology
      1. Binarization
      2. Dilation and Erosion
    5. Examples
      1. The SpinCam
      2. Warp and Measurement
  8. 5. The Impact of Light
    1. Introduction
    2. Light and the Environment
      1. Light Sources
      2. Light and Color
      3. The Target Object
      4. Lighting Techniques
    3. Color
    4. Color and Segmentation
    5. Example
  9. 6. Image Arithmetic
    1. Basic Arithmetic
    2. Histograms
    3. Using Hue Peaks
    4. Binary Masking
    5. Examples
      1. Creating a Motion Blur Effect
      2. Chroma Key (Green Screen)
  10. 7. Drawing on Images
    1. The Display
    2. Working with Layers
    3. Drawing
    4. Text and Fonts
    5. Examples
      1. Making a Custom Display Object
      2. Moving Target
      3. Image Zoom
  11. 8. Basic Feature Detection
    1. Blobs
      1. Finding Blobs
      2. Finding Dark Blobs
      3. Finding Blobs of a Specific Color
    2. Lines and Circles
      1. Lines
      2. Circles
    3. Corners
    4. Examples
  12. 9. FeatureSet Manipulation
    1. Actions on Features
    2. FeatureSet Properties
    3. FeatureSet Sorting and Filtering
    4. Cropping FeatureSets
    5. Measuring Features
      1. Quarter for Scale
    6. Blobs and Convex Hulls
    7. Inside a Blob
    8. Rotating Blobs
    9. Example: Tracking a Circle (Ball)
  13. 10. Advanced Features
    1. Bitmap Template Matching
    2. Keypoint Template Matching
    3. Optical Flow
    4. Haar-like Features
    5. Barcode
    6. Examples
      1. Barcode Scanner
      2. Mustacheinator
  14. A. Advanced Shell Tips
    1. Macro Magic
    2. Run and Edit Python Scripts
    3. Timing
  15. B. Cameras and Lenses
    1. Cameras and Digital Sensors
    2. Lenses
  16. C. Advanced Features
    1. Foreground/Background Segmentation
      1. Frame Differencing Segmentation
      2. Running Segmentation
      3. Color Segmentation
    2. Feature Extractors
      1. Edge Histograms
      2. Haar Features
      3. Hue Histogram
      4. Morphology Revisited
    3. Examples
      1. Target Tracking
      2. Color Game
  17. About the Authors
  18. SPECIAL OFFER: Upgrade this ebook with O’Reilly
  19. Copyright

Product information

  • Title: Practical Computer Vision with SimpleCV
  • Author(s): Kurt Demaagd, Anthony Oliver, Nathan Oostendorp, Katherine Scott
  • Release date: July 2012
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781449343835