Mat类的两种遍历比较快的方式,分别给出了按行和按列遍历,以及运行过程图。


原图:
【OpenCV】图像的遍历


按行遍历过程图
【OpenCV】图像的遍历


按列遍历过程图
【OpenCV】图像的遍历



代码如下:


//
ptr逐行访问
 1 void ptrScanX(Mat& src)
 2 {
 3     for (int i = 0; i < src.rows; i++)
 4     {
 5         uchar *p = src.ptr<uchar>(i);
 6         for (int j = 0; j < src.cols; j++)
 7         {
 8             *(p + j)=255;
 9         }
10     }
11 }
View Code
//ptr逐列访问
 1 void ptrScanY(Mat& src)
 2 {
 3     for (int i = 0; i < src.cols; i++)
 4     {
 5         for (int j = 0; j < src.rows; j++)
 6         {
 7             uchar *p = src.ptr<uchar>(j);
 8             *(p + i) = 255;            
 9         }
10     }
11 }
View Code

相关文章: