我有一个矩阵A,$ 100x100 $元素..我有另一个矩阵B,$ 50x50 $元素..
我想将一个元素块复制到A,例如
A(Range(10,30),Range(10,30)) = B (Range(5,25),Range(5,25));
程序正在编译和执行,但不会复制值。对此有何解决方案?
答案 0 :(得分: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返回一个Mat头,然后将其设置为等于B返回的Mat头。默认情况下,OpenCV不复制cv :: Mat数据,你必须明确地做。