图像直方图描述的是图像各个灰度级的统计特性,他表示图像每一灰度级与该灰度级出现频率的对应关系,因为灰度级不是连续的,自然,灰度直方图是一个离散函数。横坐标是灰度级g,纵坐标是Ng,如果总的像素是N,灰度级为L,Pg=Ng/N。那么Ng--g构成灰度直方图,Pg--g构成归一化灰度直方图。
用matlab实现,imhist(I),imhist(I,n)表示将灰度级均匀分成n个小区间,[counts,x]=imhist(...)返回每个灰度区间的像素数目和对应的灰度小区间的向量。用stem(x,counts)可以画出灰度直方图。
I=imread('pout.tif');
L=rgb2gray(I);%%转化成我们熟悉的二值图像,也就是二值灰度图像。
[M,N]=size(L);
[counts,x]=imhist(L,32);
counts=counts/M/N;
stem(x,counts);
效果: