Basic matrix operations
In this section, we will learn a number of 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 create Mat
manually. The most common constructor is giving the matrix a size and type, as follows:
Mat a= Mat(Size(5,5), CV_32F);
Note
You can create a new matrix linking with a stored buffer from third-party libraries without copying data using this constructor:Mat(size, type, pointer_to_buffer)
.
The types supported depend on the type of 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 matrix using CV_number_typeC(n)
, where the number_type
is 8 bits unsigned (8U) to 64 float (64F), and where (n)
is the number of channels; the number of channels permitted ranges from 1
to CV_CN_MAX
.
The initialization does not set up the data values, and hence...