灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是将数字图像中的所有像素按照灰度值的大小,统计其出现的频率。灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。横坐标表示灰度值(灰度级),纵坐标表示具有各个灰度值或者灰度级别的像素在图像中出现的次数或者概率。
Matlab有两个绘制灰度直方图的函数,分别是imhist和histogram
如果直接绘制图像的灰度直方图
A=imread('1.jpg');
subplot(2,2,1);
imhist(A);
subplot(2,2,2);
histogram(A);
imhist的NumBins值是由图像类型决定的。若图像为uint8类型,则bin的数量为256,即[0:1:255]。
histogram的NumBins值可以人为设定,在未指定该参数时,系统将基于图像的灰度分布自动计算NumBins的值。
如果是对处理后的**.mat图像矩阵**绘制灰度直方图
A=importdata('2.mat');
subplot(2,2,1);
imhist(uint8(A));
subplot(2,2,2);
histogram(A);
可见,histogram可以更清楚的反映出灰度级的分布情况。注:但不能确定灰度值所在图像中的位置。
关于imhist(I,n)的一些用法,可以参考这篇文章:https://blog.csdn.net/weixin_44225182/article/details/100378345
关于hist和histogram的区别可以参考这篇文章:
https://blog.csdn.net/fadbgfnbxb/article/details/93199679