Book Image

OpenCV By Example

By : Prateek Joshi, David Millán Escrivá, Vinícius G. Mendonça
Book Image

OpenCV By Example

By: Prateek Joshi, David Millán Escrivá, Vinícius G. Mendonça

Overview of this book

Open CV is a cross-platform, free-for-use library that is primarily used for real-time Computer Vision and image processing. It is considered to be one of the best open source libraries that helps developers focus on constructing complete projects on image processing, motion detection, and image segmentation. Whether you are completely new to the concept of Computer Vision or have a basic understanding of it, this book will be your guide to understanding the basic OpenCV concepts and algorithms through amazing real-world examples and projects. Starting from the installation of OpenCV on your system and understanding the basics of image processing, we swiftly move on to creating optical flow video analysis or text recognition in complex scenes, and will take you through the commonly used Computer Vision techniques to build your own Open CV projects from scratch. By the end of this book, you will be familiar with the basics of Open CV such as matrix operations, filters, and histograms, as well as more advanced concepts such as segmentation, machine learning, complex video analysis, and text recognition.
Table of Contents (18 chapters)
OpenCV By Example
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Basic matrix operations


In this section, we will learn some basic and important matrix operations that we can apply to images or any matrix data.

We learned how to load an image and store it in a Mat variable, but we can manually create a Mat variable. The most common constructor that provides the matrix size and type is as follows:

Mat a= Mat(Size(5,5), CV_32F);

Note

You can create a new Matrix link with a stored buffer from third-party libraries, without copying the data, using the following constructor:

Mat(size, type, pointer_to_buffer)

The supported types depend on the type of the number you want to store and the number of channels. The most common types are as follows:

CV_8UC1
CV_8UC3
CV_8UC4
CV_32FC1
CV_32FC3
CV_32FC4

Note

You can create any type of a matrix using CV_number_typeC(n), where number_type is 8U (8 bits unsigned) to 64F (64 float) and (n) is the number of channels. The number of channels allowed is from 1 to CV_CN_MAX.

This initialization does not set up the data values and you...