我有一个矩阵A块$ 100×100 $的元素,..我有$ 50×50 $的元素另一个矩阵B ..复制矩阵中OpenCV中矩阵的另一块
我想复制例如对于A的元素块,
A(Range(10,30),Range(10,30)) = B (Range(5,25),Range(5,25));
该程序正在编译和执行,但值不会被复制。任何解决方案?
我有一个矩阵A块$ 100×100 $的元素,..我有$ 50×50 $的元素另一个矩阵B ..复制矩阵中OpenCV中矩阵的另一块
我想复制例如对于A的元素块,
A(Range(10,30),Range(10,30)) = B (Range(5,25),Range(5,25));
该程序正在编译和执行,但值不会被复制。任何解决方案?
尝试
cv::Mat A;
cv::Mat B;
cv::Mat C = A(cv::Range(10,30),cv::Range(10,30));
B (cv::Range(5,25),cv::Range(5,25)).copyTo(C);
我想象会发生什么在你的代码是你的函数调用A返回一个垫头,然后将其设置为等于B返回默认情况下,垫头,OpenCV的不复制cv :: Mat数据,你必须明确地做。
感谢您的回复..它的作品:) –
@RavindraGadde很高兴听到它!如果你发现这个网站有用的答案,你可以通过接受它来表示感谢,如果它是你自己的问题(按复选标记),或者如果其他人问这个问题,你可以加快它的速度(你需要15个代表这样做) – Hammer
真的吗? A和B是对象,并且代码编译? –
@LuchianGrigore是的,它得到编译 –
这不是你的代码。或者,或者A和B不是对象。 –