第一种 : 循环遍历(时间效率低,不建议采用)
依次遍历图像的像素点,存储不同灰度级的像素点个数
代码(包含画直方图):
bool calcHistograph(Mat img){
if (!img.data)
return false;
Mat gray;
if (img.channels() == 1)
img.copyTo(gray);
else
cvtColor(img, gray, CV_BGR2GRAY);
Mat histogram(500, 520, CV_8UC1, Scalar(0, 0, 0));
float hist[256] = { 0 };
for (int i = 0; i < gray.r