测试代码
double m[3][3] =
{ {1, 3, 1},
{2 ,8, 7},
{3 ,2, 4}, };
Mat testMat(3,3,CV_64FC1,m);
cout << "testMat="<< endl<<testMat<< endl;
Mat A=testMat(Rect(0,1,1,2));
cout << "A="<<A<< endl;
运行结果
testMat=
[1, 3, 1;
2, 8, 7;
3, 2, 4]
A=[2;
3]
可以看出函数Rect的下标从0开始,第一个参数为起始的列,第二个参数为起始的行,第三个参数为子矩阵的列数,第四个参数为子矩阵的行数。
对于这个例子而言,子矩阵A即提取testMat矩阵第一列第二行的一列共两行数据。