数字图像处理之点运算---直方图的matlab实现

一…直方图

1.理论基础
数学上来讲,图像直方图描述的是图像的各个灰度级的统计特性
图形上说,灰度直方图是一个二维图,横坐标为图像各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或者概率。

2.代码实现

%一般直方图
I=imread('pout.tif')%读入原图像
figure;
imshow(I);title('Source');%显示原图像
figure;
imhist(I);title('Graph');%显示直方图
figure;
imhist(I,64);%生成有64个小区间的灰度直方图


%归一化直方图
[M,N]=size(I);  %计算图像大小
[counts,x]=imhist(I,32);%计算32个小区间的灰度直方图
counts=counts/M/N;%计算归一化各区间的值
stem(x,counts);%绘制归一化直方图

3.执行结果:

原图
原图
一般直方图

在这里插入图片描述
归一化直方图:

在这里插入图片描述
4.总结
灰度直方图往往可以得到很多的有效信息。实际上,直方图的峰值位置说明了图像总体的亮暗,如果图像整体较亮,则直方图出现在直方图的较右部分;如果图像较暗,则峰值出现在直方图的较左部分,从而造成暗部细节难以分辨。如果直方图中只有中间某一小段非零值,则这张图像的对比度较低;反之,如果直方图的非零值分布很宽而且比较均匀,则图像的对比度比较高。

猜你喜欢

转载自blog.csdn.net/jxqbuct/article/details/89213552