1、函数的原型是:

C++: Mat Mat::operator()(const Rect& roi) const  

2、测试代码如下:

    double m[3][3] = 

    { {1, 3, 1},

     {4 ,8, 7},

     {6 ,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;


运行结果如下图:

子矩阵Rect(0,1,1,2)什么意思?_矩阵


可以看出函数Rect的下标从0开始,第一个参数为起始的列,第二个参数为起始的行,第三个参数为子矩阵的列数,第四个参数为子矩阵的行数。对于这个例子而言,子矩阵A即提取testMat矩阵第一列第二行的一列共两行数据。