直方图
直方图是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。图像的直方图表示的则是不同灰度级占总像素的分布情况。
以uint8类的图像为例,该类图像具有2^8=256级亮度,不同亮度对应的像素数不同,统计得到256级亮度分别对应的像素数并绘制出直观的图表,这就是图像的直方图。
imhist
函数imhist可以绘制得到图像的直方图,它是Matlab图像直方图处理工具箱中的一个核心函数。
调用格式
imhist(I,n)
I为输入图像,需为灰度图像,n为指定的灰度级数目,缺省值为256。
使用示例
f = imread('figure1.jpg');h = rgb2gray(f);%将RGB图像转换为灰度图像imhist(h)
得到灰度图像h的直方图如下所示:
除了能用函数imhist绘制直方图以外,还能使用函数bar、stem、plot绘制图像的直方图,在Matlab中输入以下代码:
f = imread('figure2.jpg');h = rgb2gray(f);%将RGB图像转换为灰度图像h1 = h(1:10:256);horz = 1:10:256;subplot(2,2,1)imhist(h)subplot(2,2,2)bar(horz,h1,0.5)subplot(2,2,3)stem(horz,h1,'fill')subplot(2,2,4)plot(imhist(f))
得到四种不同的绘图函数的绘制效果如下图所示:
在实际应用中可以根据不同情况选择使用不同的函数进行绘制,得到更好的显示效果。
如果觉得《Matlab中imhist函数的使用及图像直方图的概念》对你有帮助,请点赞、收藏,并留下你的观点哦!