You are previewing Raspberry Pi Computer Vision Programming.
O'Reilly logo
Raspberry Pi Computer Vision Programming

Book Description

Design and implement your own computer vision applications with the Raspberry Pi

In Detail

This book will provide you with the skills you need to successfully design and implement your own Raspberry Pi and Python-based computer vision projects.

From the beginning, this book will cover how to set up your Raspberry Pi for computer vision applications, exploring the basics of OpenCV, and how to design and implement real-life computer vision applications on your own. By sequentially working through the steps in each chapter, you will quickly be able to master the features of OpenCV. In the end of the book, you will also be introduced to SimpleCV, which is another powerful computer vision library for Python. Featuring plenty of coding examples and exercises, this book offers you an unparalleled learning experience.

What You Will Learn

  • Set up your Raspberry Pi and master computer vision with OpenCV

  • Work with images, videos, webcams, the Pi camera, and create amazing timelapse videos

  • Blend images and create artistic effects such as image transitioning

  • Transform images, change colorspaces, and track objects based on colors

  • Use various high- and low-pass filters to remove noise from the image

  • Find contours and segments in images and detect edges, lines, and circles

  • Install another simple yet powerful library, SimpleCV, and with its help create real-life applications

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Raspberry Pi Computer Vision Programming
      1. Table of Contents
      2. Raspberry Pi Computer Vision Programming
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Introduction to Computer Vision and Raspberry Pi
        1. Computer vision
        2. OpenCV
        3. Single-board computers and the Raspberry Pi
          1. Raspberry Pi
          2. Operating systems
            1. Raspbian
        4. Setting up your Raspberry Pi B+
          1. Preparing your microSD card manually
          2. Booting up your Raspberry Pi for the first time
          3. Shutting down and rebooting your Pi safely
        5. Preparing your Pi for computer vision
          1. Testing OpenCV installation with Python
        6. NumPy
          1. Array creation
          2. Basic operations on arrays
          3. Linear algebra
        7. Summary
      9. 2. Working with Images, Webcams, and GUI
        1. Running Python programs with Raspberry Pi
        2. Working with images
          1. Using matplotlib
        3. Drawing geometric shapes
        4. Working with trackbar and named window
        5. Working with a webcam
          1. Creating a timelapse sequence using fswebcam
          2. Webcam video recording and playback
        6. Working with a webcam using OpenCV
          1. Saving a video and playback of a video using OpenCV
        7. Working with the Pi camera module
          1. Using raspistill and raspivid
          2. Using picamera in Python with the Pi camera module
          3. picamera and OpenCV
          4. Summary
      10. 3. Basic Image Processing
        1. Retrieving image properties
        2. Arithmetic operations on images
          1. Blending and transitioning images
        3. Splitting and merging image colour channels
          1. Creating a negative of an image
          2. Logical operations on images
        4. Exercise
        5. Summary
      11. 4. Colorspaces, Transformations, and Thresholds
        1. Colorspaces and conversions
        2. Tracking in real time based on color
        3. Image transformations
          1. Scaling
          2. Translation, rotation, and affine transformation
          3. Perspective transformation
        4. Thresholding image
          1. Otsu's method
        5. Exercise
        6. Summary
      12. 5. Let's Make Some Noise
        1. Noise
          1. Introducing noise to an image
          2. Kernels
          3. 2D convolution filtering
          4. Low-pass filtering
        2. Exercise
        3. Summary
      13. 6. Edges, Circles, and Lines' Detection
        1. High-pass filters
        2. Canny Edge detector
        3. Hough circle and line transforms
        4. Exercise
        5. Summary
      14. 7. Image Restoration, Quantization, and Depth Map
        1. Restoring images using inpainting
        2. Image segmentation
          1. Mean shift algorithm based segmentation
        3. K-means clustering and image quantization
          1. Comparison of mean shift and k-means
        4. Disparity map and depth estimation
        5. Summary
      15. 8. Histograms, Contours, Morphological Transformations, and Performance Measurement
        1. Image histograms
        2. Image contours
        3. Morphological transformations on image
        4. OpenCV performance measurement and improvement
        5. Summary
      16. 9. Real-life Computer Vision Applications
        1. Barcode detection
        2. Motion detection and tracking
        3. Hand gesture recognition
        4. Chroma key with green screen
        5. Summary
      17. 10. Introduction to SimpleCV
        1. SimpleCV and its installation on Raspberry Pi
        2. Getting started with the camera, display, and images
        3. Binary thresholding and color distances
        4. The blur effect on a live web camera feed
        5. Histogram calculation
        6. Greyscale conversion
        7. Detecting corners and lines in an image
        8. Blob detection in images
        9. Sending Raspberry Pi on a boating vacation
        10. Exercise
        11. Summary
      18. Index