2013-01-02 121 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