OpenCV Computer Vision Application Programming Cookbook Second Edition

Over 50 recipes to help you build computer vision applications in C++ using the OpenCV library

OpenCV Computer Vision Application Programming Cookbook Second Edition

Cookbook
Robert Laganière

Over 50 recipes to help you build computer vision applications in C++ using the OpenCV library
$26.99
$44.99
RRP $26.99
RRP $44.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781782161486
Paperback374 pages

About This Book

  • Master OpenCV, the open source library of the computer vision community
  • Master fundamental concepts in computer vision and image processing
  • Learn the important classes and functions of OpenCV with complete working examples applied on real images

Who This Book Is For

OpenCV 3 Computer Vision Application Programming Cookbook is appropriate for novice C++ programmers who want to learn how to use the OpenCV library to build computer vision applications. It is also suitable for professional software developers wishing to be introduced to the concepts of computer vision programming. It can also be used as a companion book in a university-level computer vision courses. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision.

Table of Contents

Chapter 1: Playing with Images
Introduction
Installing the OpenCV library
Loading, displaying, and saving images
Exploring the cv::Mat data structure
Defining regions of interest
Chapter 2: Manipulating Pixels
Introduction
Accessing pixel values
Scanning an image with pointers
Scanning an image with iterators
Writing efficient image-scanning loops
Scanning an image with neighbor access
Performing simple image arithmetic
Remapping an image
Chapter 3: Processing Color Images with Classes
Introduction
Using the Strategy pattern in an algorithm design
Using a Controller design pattern to communicate with processing modules
Converting color representations
Representing colors with hue, saturation, and brightness
Chapter 4: Counting the Pixels with Histograms
Introduction
Computing the image histogram
Applying look-up tables to modify the image appearance
Equalizing the image histogram
Backprojecting a histogram to detect specific image content
Using the mean shift algorithm to find an object
Retrieving similar images using the histogram comparison
Counting pixels with integral images
Chapter 5: Transforming Images with Morphological Operations
Introduction
Eroding and dilating images using morphological filters
Opening and closing images using morphological filters
Detecting edges and corners using morphological filters
Segmenting images using watersheds
Extracting distinctive regions using MSER
Extracting foreground objects with the GrabCut algorithm
Chapter 6: Filtering the Images
Introduction
Filtering images using low-pass filters
Filtering images using a median filter
Applying directional filters to detect edges
Computing the Laplacian of an image
Chapter 7: Extracting Lines, Contours, and Components
Introduction
Detecting image contours with the Canny operator
Detecting lines in images with the Hough transform
Fitting a line to a set of points
Extracting the components' contours
Computing components' shape descriptors
Chapter 8: Detecting Interest Points
Introduction
Detecting corners in an image
Detecting features quickly
Detecting scale-invariant features
Detecting FAST features at multiple scales
Chapter 9: Describing and Matching Interest Points
Introduction
Matching local templates
Describing local intensity patterns
Describing keypoints with binary features
Chapter 10: Estimating Projective Relations in Images
Introduction
Calibrating a camera
Computing the fundamental matrix of an image pair
Matching images using a random sample consensus
Computing a homography between two images
Chapter 11: Processing Video Sequences
Introduction
Reading video sequences
Processing the video frames
Writing video sequences
Tracking feature points in a video
Extracting the foreground objects in a video

What You Will Learn

  • Install and create a program using the OpenCV library
  • Process an image by manipulating its pixels
  • Analyze an image using histograms
  • Segment images into homogenous regions and extract meaningful objects
  • Apply image filters to enhance image content
  • Exploit image geometry in order to relate different views of a pictured scene
  • Calibrate the camera from different image observations
  • Detect faces and people in images using machine learning techniques

In Detail

OpenCV Computer Vision Application Programming Cookbook Second Edition is your guide to the development of computer vision applications.

The book shows you how to install and deploy the OpenCV library to write an effective computer vision application. Different techniques for image enhancement, pixel manipulation, and shape analysis will be presented. You will also learn how to process video from files or cameras and detect and track moving objects. You will also be introduced to recent approaches in machine learning and object classification.

This book is a comprehensive reference guide that exposes you to practical and fundamental computer vision concepts, illustrated by extensive examples.

Authors

Table of Contents

Chapter 1: Playing with Images
Introduction
Installing the OpenCV library
Loading, displaying, and saving images
Exploring the cv::Mat data structure
Defining regions of interest
Chapter 2: Manipulating Pixels
Introduction
Accessing pixel values
Scanning an image with pointers
Scanning an image with iterators
Writing efficient image-scanning loops
Scanning an image with neighbor access
Performing simple image arithmetic
Remapping an image
Chapter 3: Processing Color Images with Classes
Introduction
Using the Strategy pattern in an algorithm design
Using a Controller design pattern to communicate with processing modules
Converting color representations
Representing colors with hue, saturation, and brightness
Chapter 4: Counting the Pixels with Histograms
Introduction
Computing the image histogram
Applying look-up tables to modify the image appearance
Equalizing the image histogram
Backprojecting a histogram to detect specific image content
Using the mean shift algorithm to find an object
Retrieving similar images using the histogram comparison
Counting pixels with integral images
Chapter 5: Transforming Images with Morphological Operations
Introduction
Eroding and dilating images using morphological filters
Opening and closing images using morphological filters
Detecting edges and corners using morphological filters
Segmenting images using watersheds
Extracting distinctive regions using MSER
Extracting foreground objects with the GrabCut algorithm
Chapter 6: Filtering the Images
Introduction
Filtering images using low-pass filters
Filtering images using a median filter
Applying directional filters to detect edges
Computing the Laplacian of an image
Chapter 7: Extracting Lines, Contours, and Components
Introduction
Detecting image contours with the Canny operator
Detecting lines in images with the Hough transform
Fitting a line to a set of points
Extracting the components' contours
Computing components' shape descriptors
Chapter 8: Detecting Interest Points
Introduction
Detecting corners in an image
Detecting features quickly
Detecting scale-invariant features
Detecting FAST features at multiple scales
Chapter 9: Describing and Matching Interest Points
Introduction
Matching local templates
Describing local intensity patterns
Describing keypoints with binary features
Chapter 10: Estimating Projective Relations in Images
Introduction
Calibrating a camera
Computing the fundamental matrix of an image pair
Matching images using a random sample consensus
Computing a homography between two images
Chapter 11: Processing Video Sequences
Introduction
Reading video sequences
Processing the video frames
Writing video sequences
Tracking feature points in a video
Extracting the foreground objects in a video

Book Details

ISBN 139781782161486
Paperback374 pages
Read More