我尝试直接将矩阵乘法结果复制到另一个矩阵的子集:
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);
这样不是更有效率吗?
最佳答案
试试这个:
cv::Mat subC = c(cv::Rect(0,0,3,3));
subC = a*b;
此处禁止复制。
或者更简洁:
c(cv::Rect(0,0,3,3)) = a*b;
关于c++ - OpenCV - 直接将矩阵乘法结果复制到另一个矩阵的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19291203/