2013-01-02 115 views
3

我有一个矩阵A块$ 100×100 $的元素,..我有$ 50×50 $的元素另一个矩阵B ..复制矩阵中OpenCV中矩阵的另一块

我想复制例如对于A的元素块,

A(Range(10,30),Range(10,30)) = B (Range(5,25),Range(5,25)); 

该程序正在编译和执行,但值不会被复制。任何解决方案?

+0

真的吗? A和B是对象,并且代码编译? –

+0

@LuchianGrigore是的,它得到编译 –

+0

这不是你的代码。或者,或者A和B不是对象。 –

回答

3

尝试

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数据,你必须明确地做。

+0

感谢您的回复..它的作品:) –

+0

@RavindraGadde很高兴听到它!如果你发现这个网站有用的答案,你可以通过接受它来表示感谢,如果它是你自己的问题(按复选标记),或者如果其他人问这个问题,你可以加快它的速度(你需要15个代表这样做) – Hammer