c++ - opencv遍历像素值并且对像素值平均值计算

1,308 阅读1分钟
#include <iostream>

#include<opencv2/core.hpp>

#include<opencv2/highgui.hpp>

#include<opencv2/imgproc.hpp> 


using namespace std; 

using namespace cv; 

int main() 

  Mat img = imread("C:\\Users\\Administrator\\Desktop\\1.bmp", 0); 

  int rowNumber = img.rows;//行数 

  int colNumber = img.cols*img.channels();//列数*通道数 =每一行元素的个数 

  int *mean = new int[rowNumber]; 

 //双重循环,遍历所有的像素值 

 for (int i = 0; i < rowNumber; i++)//行循环 

 { 

   long temp = 0; int* data = img.ptr<int>(i);//获取第I行的首地址 

   for (int j = 0; j < colNumber; j++)//列循环 

      { int sum, meanCol; 

        sum += data[j]; 

        meanCol = sum / j; 

        mean[i] = meanCol; 

         cout << mean[i] << endl; 

       } 

   }  

}