Cv Mat Data
The cv mat data structure is essentially made up of two parts.
Cv mat data. Uchar pixval cv mat elem grayimg uchar i j cv mat elem cameramatrix float 0 2 image width 0 5f. Multiple images vector of mat can be saved in tiff format see the code sample below. Matrix elements are stored row by row. As mentioned this is a key element of the library.
The underlying matrix of an image may be copied using the cv mat clone and cv mat copyto functions. Some operations like the one above do not actually depend on the array shape. In the previous recipe you were introduced to the cv mat data structure. Or use the universal filestorage i o functions to save the image to xml or yaml format.
Type has the same meaning as in cvcreatemat. This is about how you store the pixel values. The previous recipe showed you how to access some of the attributes of this structure contained in its header for example by using cols rows or channels. Element i j i 0 based row index j 0 based column index of a matrix can be retrieved or modified using cv mat elem macro.
The color space refers to how we combine color components in order to code a given color. To access multiple channel matrices you can use cv mat elem matrix. Mat data gives a pointer which refers to the original data matrix. Using cv mat create nrows ncols type method or the similar constructor cv mat mat nrows ncols type fill value constructor.
A new matrix of the specified size and specifed type will be allocated. They just process elements of an array one by one or elements from multiple arrays that have the same coordinates for example array addition. In this data matrix all the pixel values are stored in 1d array. You can select the color space and the data type used.
In the previous recipe you were introduced to the cv mat data structure. There are many different ways to create cv mat object. As mentioned this is a key element of the library. The header contains all of the information associated with the matrix size number of channels data type and so on.