(一)知识点:
1.range(等级的概念),bin概念
2.API(calcHist计算直方图数据、normalize归一化)
i. calcHist()
void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask, OutputArray hist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool accumulate=false ) //原文链接:https://blog.csdn.net/shuiyixin/article/details/80032167
搬运于(52条消息) 【opencv学习笔记】025之直方图计算 - calcHist函数详解_水亦心的博客-CSDN博客_calchist
ii. normilize()
void normalize(InputArray src,OutputArraydst, double alpha = 1, double beta = 0, intnorm_type = NORM_L2, int dtype = -1, InputArray mask = noArray() ); //注意直方图中,alpha代表最小值,与直方图图像的底边相同 //注意直方图中,beta代表最大值,与直方图图像的高度相同
搬运于(52条消息) 归一化函数normalize详解_DP323的博客-CSDN博客_normalize
(二)思路
1.先对src图像进行通道分离;
2.设定bin的总数(histSize);
3.设定对图像像素的取值范围[0~255],并做成一个一级指针(histRange);
4.进行calcHist像素点计算
5.设定直方图的底边alpha和顶边beta
6.normalize归一化.
7.for循环直线绘制,i,i+ 或者 i - 1,从g_hist中采集像素点信息
(三)代码演示



