OpenCV对图像获取像素值方法总结

常规方法获取像素值:

   cv::Mat cvImg = imread("E:\\Test,jpg");
   for(int i = 0;i < cvImg.rows; i++){
     for(int j = 0;j < img.cols;j++){
      s = cvGet2D(img,i,j); // get the (i,j) pixel value
      s.val[0]=100;
      s.val[1]=200;
      s.val[2]=100;
      cvSet2D(img,i,j,s);//set the (i,j) pixel value
     }
    }
快速的方法获取像素值:

    cv::Mat cvImg = imread ("E:\\Test.jpg");  
    for (int i = 0;i  !=cvImg.rows;i++){  
        for (int j = 0;j !=cvImg.cols;j++){  
            sum += ((uchar *)(cvImg->imageData + cvImg->widthStep * i))[j];//get the(i,j)pixel value   
        }  
    }  


如果载入图像比较大(3007x1000),那么采取快速的方法获取像素值比较明智选择。

你可能感兴趣的:(OpenCV对图像获取像素值方法总结)