如何覆盖opencv Mat的子图像?

X''*_*X'' 1 c++ opencv

opencv 2.4中是否有任何解决方案将非const引用返回给子Mat?
我问这个是因为我想覆盖一个由roi定义的子图像,但是mat(roi)返回一个const引用,所以我不能写说mat(roi)=mat2,或者cv::rectangle(mat(roi), rect_relative_to_roi).

编辑:(我会更具体地使用Andrej的答案)

如果我定义了在子图像上工作的复杂绘图函数,那么我
是唯一可以避免向绘图函数发送相对坐标的方法,
我来回复制我想要使用的子图像吗?

我的意思是这样的:

/* Mat canvas; */
Mat subimg = canvas(roi);
draw_sth(subimg);
subimg.copyTo(canvas(roi));
Run Code Online (Sandbox Code Playgroud)

And*_*aev 5

你可以做

mat2.copyTo(mat(roi));
Run Code Online (Sandbox Code Playgroud)