2024年4月19日发(作者:)

MFC对话框绘制灰度直方图

一. 程序运行结果

该篇文章主要是在上一篇文章基础上进行的讲解,其中当打开一BMP图像后,点击”直方图“-》”显示原图直方图“如

下。

二. 灰度直方图原理

什么是灰度直方图?

灰度直方图(histogram)是灰度级的函数,描述的是图像中每种灰度级像素的个数,反映图像中每种灰度出现的频率。

横坐标是灰度级,纵坐标是灰度级出现的频率。

对于连续图像,平滑地从中心的高灰度级变化到边缘的低灰度级。直方图定义为:

其中A(D)为阈值面积函数:为一幅连续图像中被具有灰度级D的所有轮廓线所包围的面积。对于离散函数,固定ΔD为

1,则:H(D)=A(D)-A(D+1)

色彩直方图是高维直方图的特例,它统计色彩的出现频率,即色彩概率分布信息。

通常这需要一定的量化过程,将色彩分成若干互不重叠的种类。一般不直接在RGB色彩空间中统计,而是在将亮度分离

出来后,对代表色彩部分的信息进行统计,如在HSI空间的HS子空间、YUV空间的UV子空间,以及其它反映人类视觉特点

的彩色空间表示中进行。

其中直方图的计算方法如下:

依据定义,若图像具有L(通常L=256,即8位灰度级)级灰度,则大小为MxN的灰度图像f(x,y)的灰度直方图hist[0…

L-1]可用如下计算获得。

1、初始化 hist[k]=0; k=0,…,L-1

2、统计 hist[f(x,y)]++; x=0,…,M-1, y =0,…,N-1