1 | initial version |
I am not really sure what you are saying, it is a little bit confusing, but if I had understand write, this should help: Normally, the Mat roiMat = image(roi);
is the same as the roi
of the image
, so if you process it, then you actually process the image(roi)
. (If you do not want this, then you should do a copyTo
or clone
.)
As an example to better explanation, just do:
cv::Mat image = cv::imread("../img.jpg");
cv::Rect roi(15, 15, 40, 40);
cv::Rect rct(15, 15, 15, 15);
cv::Mat roiMat = image(roi); // you can do image(roi).clone() if you do not want this
cv::rectangle(roiMat, rct, CV_RGB(0, 255, 0), 2);
cv::imshow("image", image);
cv::waitKey();
It will draw the rectangle in the read image, relative to the roi. I hope that this will answer your question.