首页 > 代码库 > OpenCV快速遍历矩阵元素方法

OpenCV快速遍历矩阵元素方法

  OpenCV中Mat矩阵data数据的存储方式和二维数组不一致,二维数组按照行优先的顺序依次存储,而Mat中还有一个标示行步进的变量Step。使用Mat.ptr<DataTyte>(row) 行指针的方式定位到每一行,可快速遍历矩阵。例程如下:

 1             std::cout << "The inverse matrix of K is:" << std::endl; 2             for(int i=0;i<3;i++) 3             { 4                 float* data = http://www.mamicode.com/mInvK.ptr<float>(i);// mInvK.ptr 对应行指针 5                 for (int j=0;j<3;j++) 6                 { 7                     std::cout  << *data++ << "\t"; 8                 } 9                 std::cout << std::endl;10             }

  其实只要显示Mat矩阵data数据的话,不需要通过遍历的方式,以上只为说明遍历方法,对元素操作只有输出打印。显示Mat M矩阵,可以直接 std::cout << M << std::endl

OpenCV快速遍历矩阵元素方法