Free Book Learning OpenCV 3 Computer Vision with Python

Learning OpenCV 3 Computer Vision with Python

Free Book Learning OpenCV 3 Computer Vision with Python

Author(s): Joe Minichino, Joseph Howse
Publisher: Packt Publishing, Year: 2015
ISBN: 1785283847, 978-1785283840


Unleash the power of computer vision with Python with OpenCV

About this book
• Create great apps using OpenCV and Python
• Learn about advanced machine learning concepts
• Take advantage of the power of computer vision with this easy-to-follow guide

for whom is this book

This book is intended for beginners in the world of OpenCV and computer vision, as well as OpenCV veterans who want to know what is new in OpenCV 3, this book is useful as a reference for experts and a training guide for beginners, or for anyone who wants to get to know the concepts of classification and detection of objects in simple and understandable terms. Basic knowledge about Python and programming concepts is required, although the book has an easy learning curve from a theory and coding point of view.

What will you learn?

• Install and learn about Python API OpenCV 3
Understand the basics of image processing and video analysis
• Identify and recognize objects in photos and videos
• Face detection and recognition using OpenCV
• Train and use your object's workbooks
• Learn the concepts of machine learning in the context of computer vision
• Working with artificial neural networks using OpenCV
• Developing your computer's real-world vision application

In detail

OpenCV 3 is a sophisticated computer vision library that allows a wide variety of image and video processing operations. Some of the more exciting and futuristic features such as face recognition or object tracking can be easily achieved with OpenCV 3. Learning the basic concepts behind computer vision algorithms and models and an OpenCV API will allow the development of all types of applications in the real world, including security and surveillance.
Starting with basic image processing, the book will take you to advanced computer vision concepts. Computer vision is a science that is rapidly evolving and exploding its applications in the real world, so this book will attract beginners in computer vision as well as subject matter experts wishing to learn the all-new OpenCV 3.0.0. You will build a theoretical foundation for image processing and video analysis, advances in classification concepts through machine learning, gain technical knowledge that will allow you to create and use object and work detectors, and even track objects in movies or feed the camcorder. Finally, the journey will end in the world of artificial neural networks, along with the development of handwriting number recognition application.

Method and approach

This book is a comprehensive guide to the all-new OpenCV 3 with Python for developing real computer vision applications.

Table of Contents

Chapter 1: Setting Up OpenCV 1

Choose and use the correct setup tools 2

Installing on Windows 2

Use dual stabilizers (do not support depth cameras) 3

Use of CMake and compilers 4

Install on OS X 7

Use MacPorts with prepackaged packages 8

Use MacPorts with your custom packs 10

Homebrew use with prepackaged packages (does not support depth cameras) 12

Use Homebrew with your custom packages 13

Installation on Ubuntu and its variants 13

Ubuntu warehouse use (does not support depth cameras) 14

Build OpenCV from Source 14

Installing on other Unix 15-like systems

Installing the contributing units 16

Sample operation 16

Find documents, assistance, and updates 18

Abstract 19

Chapter Two: Processing files, cameras, and the graphical user interface 21

Basic I / O texts 21

Read / write 22 image file

Conversion between image and raw bytes 24

Access image data using numpy.array 26

Read / write video file 28

Capture camera frames 29

Display pictures in window 31

Show camera frames in window 32

Project Cameo (Facial Tracking and Image Processing) 34

Engraving - Object Oriented Design 35

Summarize video streams with CaptureManager 35 managers

Window and keyboard summary with managers. Windows 41

Apply everything in veil embossing 42

Summary 44

Chapter 3: Image Processing with OpenCV 3 45

Conversion between different color spaces 45

A quick note on BGR 46

Fourier transform 46

High pass filter 47

Low pass filter 49

Create 49 units

Edge Detection 49

Custom beads - Twisted 51

Modify the application 53

Edge detection with Canny 55

Contour 56 revealed

Lines - bounding box, minimal rectangle,

The minimum closed circuit is 57

Fonts - convex features and the Douglas-Poker 60 algorithm

Line and Circle Detection 62

Line 62 revealed

Circle Detection 63

Figures 64 revealed

Summary 65

Chapter Four: Estimating Depth and Segmentation 67

Create 67 units

Capture frames from a 68-depth camera

Create a mask from the unevenness map 71

Hide copy operation 72

Depth estimation with regular camera 74

Hash the object using Watershed and GrabCut 80 algorithms

Example of detection provided with GrabCut 82

Image segmentation using Watershed 84 algorithm

Abstract 87

Chapter Five: Face Detection and Recognition 89

90 concepts of Har Falls

Get data for Haar Cascade 91

Use OpenCV to perform facial detection 91

Static face detection 92

Perform a face detection on Video 94

Face Recognition Procedure 97

Generate data for face recognition 98

Face recognition 100

Prepare training data 101

Data download and face recognition 102

Understanding Eigenfaces 103

Facial recognition procedure with Fisherfaces 105

Conduct facial recognition using LBPH 106

Ignore the results with a confidence score of 106

Abstract 107

Chapter Six: Photo Retrieval and Research

Using photo descriptors 109

Feature detection algorithms 109

Fixing features 110

Feature detection - 110 angles

Extract and describe features using DoG and SIFT 113

Anatomy of a major point 116

Extract and discover features with Fast Hessian and SURF 117

ORB feature detection and feature matching 120

Fast 120

Summary 121

Prot force matching 121

Feature matching with ORB 122

Using K-nearest neighbors matching 125

FLANN 126-based matching

Matching FLANN with homography 130

Sample application - forensic tattoo 133

Save image descriptors to file 133

Find 134 matches

Abstract 137

Chapter Seven: Detecting and Identifying Things 139

139 techniques for detecting and identifying objects

HOG 140 descriptor

Scale the number 142

Site issue 142

Non-Max Suppression (or Non-Maximum) 145

Support vector machines 146

People revealed 147

Creation and training of the object detector 149

Bag of words 149

Sagittarius in computer vision 150

Auto detection 153

What did we just do? 155

SVM and sliding windows 160

Example - revealed a car in scene 161

Oh man where is my car? 171

Abstract 175

Chapter Eight: Tracking Things 177

Moving objects detection 177

Basic motion detection 178

Background Developers - KNN, MOG2, and GMG 181

Mincheft and Cam Shift 185

188 colorful charts

CalcHist 189

CalcBackProject 190

In summary 190

Refer to symbol 191

Cam Shift 193

Kalman candidate 194

Expect and update 195

Example 196

Realistic example - tracing infantry 199

Application workflow 200

Brief deviation - functional programming vs. object-oriented programming 200

Infantry class 202

The main program 205

Where do we go from here? 207

Summary 208

Chapter 9: Neural Networks with OpenCV - Introduction 209

Artificial neural networks 209

Neurons and theory 210

Structure of ANN 211 

Grid layers by exa