I've mRgba Matrix and a Rect r
(something recognized in the frame)
I want a sub-matrix of this part of the frame which is defined by the Rect r.
when I use it like this:
sub = mRgba.submat(r);
I get the right sub-matrix, but I've a problem with the next steps, I want to change this part of the frame and then copy it back to the original.
For example:
Imgproc.cvtColor(sub, sub, Imgproc.COLOR_RGBA2GRAY, 1); //make it gray
Imgproc.cvtColor(sub, sub, Imgproc.COLOR_GRAY2RGBA, 4); //change to rgb
How can I copy this changed sub-matrix back to the original. or how can I get/create a Mask same size as mRgba with all zeros except the Rect r part?
ok this seems to do the trick :) it copies the changed subpicture/matrix back in the region of the source.. (what is normally done with setROI and copyto)
Your code does not work as you expected because it is impossible to change number of colors in-place. You need a temporary matrix to make it work: