我尝试直接将矩阵乘法结果复制到另一个矩阵的子集:
cv::Mat a,b,c;
//fill matrices a and b and set matrix c to correct size
cv::Mat ab=a*b;
ab.copyTo(c(cv::Rect(0,0,3,3)));
是不是可以直接将结果复制到矩阵c,例如(我知道这不起作用):
(a*b).copyTo(c(cv::Rect(0,0,3,3)));
//or
c(cv::Rect(0,0,3,3)).setTo(a*b);
不是更有效率吗?
答案 0 :(得分:1)
试试这个:
cv::Mat subC = c(cv::Rect(0,0,3,3));
subC = a*b;
此处不复制。
或者更简洁:
c(cv::Rect(0,0,3,3)) = a*b;