在OpenCV 2.1中:如何将矩阵分配给另一个矩阵的子矩阵?

假设我有一个矩阵

A = cv::Mat(3,3,CV_32F) 

和矩阵

B = cv::Mat(2,2,CV_32F).

假设A有全零,B有全部。
我想将B的值分配给A的左上角。我该怎么做?

我试过以下:

A(cv::Rect_<int>(0,0,2,2)) = B

但这似乎不行。但是,以这种方式将标量值赋给A的正数可以起作用:

A(cv::Rect_<int>(0,0,2,2)) = 1.0

第一种做法有什么问题?

最佳答案
我更喜欢一个班轮,但这是一个诀窍:

cv::Mat tmp = A(cv::Rect(0,0,2,2));
B.copyTo(tmp);

转载注明原文:在OpenCV 2.1中:如何将矩阵分配给另一个矩阵的子矩阵? - 代码日志