Updating a submatrix of Mat in OpenCV
c++, opencv
Solution
One of the quickest ways is setting a header matrix pointing to the range of columns/rows you want to update, like this:
Mat aux = X.colRange(4,7).rowRange(4,8); // you are pointing to submatrix 4x3 at X(4,4)
Now, you can copy your matrix to aux (but actually you will be copying it to X, because aux is just a pointer):
mat43.copyTo(aux);
Thats it.
Problem
I am working with OpenCV and C++. I have a matrix X like this ``` Mat X = Mat::zeros(13,6,CV_32FC1); ``` and I want to update just a submatrix 4x3 of it, but I have doubts on how to access that matrix in an efficient way. ``` Mat mat43= Mat::eye(4,3,CV_32FC1); //this is a submatrix at position (4,4) ``` Do I need to change element by element?