Use a copy constructor or assignment operator where there can be an array or expression on the right side see below.
Copy cv mat.
According to the documentation if i return a cv mat it ll have no use because after the function returns the local copy of the cv mat in that function will be destroyed and therefore the one accepting the returned value outside the function should be pointing to some random address.
Mat copyto is for when you already have a destination cv mat that may be or is already allocated with the right data size.
To convert from cv mat to qimage you could try to use the qimage uchar data int width int height format format constructor as follows mat is a cv mat.
I am novice in opencv.
Making borders for images padding if you want to create a border around the image something like a photo frame you can use cv copymakeborder function.
I researched with ptr and at methods available in opencv apis but i could not get proper d.
So mat dims is always 2 can also be 0 when the array is empty.
Recently i have troubles finding opencv functions to convert from mat to array.
It passes the number of dimensions 1 to the mat constructor but the created array will be 2 dimensional with the number of columns set to 1.
Mat clone is a convenience for when you know you have to allocate a new cv mat.
The weird thing is that most of times it works correctly.
It is more efficient than manually converting the pixels to the qimage but you have to keep the original cv mat image in memory.