You are previewing Practical OpenCV.
O'Reilly logo
Practical OpenCV

Book Description

Practical OpenCV is a hands-on project book that shows you how to get the best results from OpenCV, the open-source computer vision library.

Computer vision is key to technologies like object recognition, shape detection, and depth estimation. OpenCV is an open-source library with over 2500 algorithms that you can use to do all of these, as well as track moving objects, extract 3D models, and overlay augmented reality. It's used by major companies like Google (in its autonomous car), Intel, and Sony; and it is the backbone of the Robot Operating System's computer vision capability. In short, if you're working with computer vision at all, you need to know OpenCV.

With Practical OpenCV, you'll be able to:

  • Get OpenCV up and running on Windows or Linux.

  • Use OpenCV to control the camera board and run vision algorithms on Raspberry Pi.

  • Understand what goes on behind the scenes in computer vision applications like object detection, image stitching, filtering, stereo vision, and more.

  • Code complex computer vision projects for your class/hobby/robot/job, many of which can execute in real time on off-the-shelf processors.

  • Combine different modules that you develop to create your own interactive computer vision app.

What you'll learn

  • The ins and outs of OpenCV programming on Windows and Linux

  • Transforming and filtering images

  • Detecting corners, edges, lines, and circles in images and video

  • Detecting pre-trained objects in images and video

  • Making panoramas by stitching images together

  • Getting depth information by using stereo cameras

  • Basic machine learning techniques

  • BONUS: Learn how to run OpenCV on Raspberry Pi

Who this book is for

This book is for programmers and makers with little or no previous exposure to computer vision. Some proficiency with C++ is required.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewer
  7. Acknowledgments
  8. PART 1: Getting Comfortable
    1. CHAPTER 1: Introduction to Computer Vision and OpenCV
      1. Why Was This Book Written?
      2. OpenCV
      3. Summary
    2. CHAPTER 2: Setting up OpenCV on Your Computer
      1. Operating Systems
      2. Summary
    3. CHAPTER 3: CV Bling—OpenCV Inbuilt Demos
      1. Camshift
      2. Stereo Matching
      3. Homography Estimation in Video
      4. Circle and Line Detection
      5. Image Segmentation
      6. Bounding Box and Circle
      7. Image Inpainting
      8. Summary
    4. CHAPTER 4: Basic Operations on Images and GUI Windows
      1. Displaying Images from Disk in a Window
      2. The cv::Mat Structure
      3. Converting Between Color-spaces
      4. GUI Track-Bars and Callback Functions
      5. ROIs: Cropping a Rectangular Portion out of an Image
      6. Accessing Individual Pixels of an Image
      7. Videos
      8. Summary
  9. PART 2: Advanced Computer Vision Problems and Coding Them in OpenCV
    1. CHAPTER 5: Image Filtering
      1. Image Filters
      2. Object Detector App
      3. Morphological Opening and Closing of Images to Remove Noise
      4. Summary
    2. CHAPTER 6: Shapes in Images
      1. Contours
      2. Hough Transform
      3. Generalized Hough Transform
      4. RANdom Sample Consensus (RANSAC)
      5. Bounding Boxes and Circles
      6. Convex Hulls
      7. Summary
    3. CHAPTER 7: Image Segmentation and Histograms
      1. Image Segmentation
      2. Histograms
      3. Summary
    4. CHAPTER 8: Basic Machine Learning and Object Detection Based on Keypoints
      1. Keypoints and Keypoint Descriptors: Introduction and Terminology
      2. SIFT Keypoints and Descriptors
      3. SURF Keypoints and Descriptors
      4. ORB (Oriented FAST and Rotated BRIEF)
      5. Basic Machine Learning
      6. Object Categorization
      7. Summary
    5. CHAPTER 9: Affine and Perspective Transformations and Their Applications to Image Panoramas
      1. Affine Transforms
      2. Perspective Transforms
      3. Panoramas
      4. Summary
    6. CHAPTER 10: 3D Geometry and Stereo Vision
      1. Single Camera Calibration
      2. Stereo Vision
      3. Summary
    7. CHAPTER 11: Embedded Computer Vision: Running OpenCV Programs on the Raspberry Pi
      1. Raspberry Pi
      2. Setting Up Your New Raspberry Pi
      3. Camera board
      4. Usage Examples
      5. Summary
  10. Index