直方图处理

一、直方图的意义:

    以从直方图中提取的信息为基础的灰度变换函数,在诸如增强、压缩、分割、描述等方面的图像处理起着重要作用。


二、直方图的原理:

    一幅数字图像在[0 G]范围内总共有L个灰度级,其直方图定义为下列离散函数:

                                                                    

式中,是区间[0 G]内的第k级灰度,为图像中出现这种灰度级的像素数。对于uint8类图像,G的值为255;对于uint16类图像,G的值为65535;对于浮点图像,G的值为1.0。注意,对于uint8类和uint16类图像,G=L-1。

    有时,需要使用归一化直方图。用的所有元素除以图像中的总像素数n,就可以简单地得到归一化直方图:

                                                  

式中,对于整数图像,k=0,1,2,........,L-1。从概率论的角度,可以认为是灰度级出现的概率的估计。

在处理直方图的工具箱中,核心函数是imhist,其基本语法如下:

                                                                    h = imhist(f,b)

其中,f为输入图像,h为其直方图,b是用来形成直方图的“容器”的数目(若b为包含在此参量中,则其默认值为256)。


三、直方图的matlab实例:

f = imread('breast.tif');
g = imadjust(f,stretchlim(f),[1 0]);  %增强负片图像的对比度
figure,imshow(g);
figure,imhist(g)
h = imhist(f,25);           %绘制直方图
horz = linspace(0,255,25);       
figure,bar(horz,h)          %绘制条形图
figure,stem(horz,h,'fill')    %绘制杆状图
axis([0 255 0 60000])
set(gca,'xtick',0:50:255)
set(gca,'ytick',0:20000:60000)


hc = imhist(f);           %绘制直方图
figure,plot(hc)   %绘制曲线图
axis([0 255 0 15000])
set(gca,'xtick',0:50:255)

set(gca,'ytick',0:2000:15000)

以下为最终的输出结果:









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值