直方图的均衡化
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、直方图均衡化的原理程序(lm2.m)
%step2:get cdf cdf(1)=tmhist(1); for i=2:256 cdf(i)=cdf(i-1)+tmhist(i); End bar(t,cdf); %step3:run point operation for i=1:m for j=1:n k=plane(i,j); plane_equ(i,j)=cdf(k)*256/(m*n); end end
一、灰度直方图
灰度直方图(histogram)是灰度级的函数, 它表示图象中具有每种灰度级的象素的个数, 反映图象中每种灰度出现的频率。灰度直方图 的横坐标是灰度级,纵坐标是该灰度级出现的 频率,是图象的最基本的统计特征。 从概率的观点来理解,灰度出现的频率可看作 其出现的概率,这样直方图就对应于概率密度 函数pdf,而概率分布函数就是直方图的累积 和,即概率密度函数的积分,如下图所示:
P(r ) p(r )dr ,
0
r
p(r )
dP(r ) dr
若直接从ห้องสมุดไป่ตู้表每种灰度的 象素数目的直方图来观察, 常用如下的表示:
直方图的特点
它只反映该图中不图灰度值出现的次数(或频率), 未反映某以灰度值象素所处的位置。 一幅图各子区的直方图之和就等于该图全图的直方图。 图像直方图覆盖0~255全部灰度级(即256个灰度级 的到了恰当利用)时图像对比度好。但许多图像对应 的直方图并未有效利用动态范围(集中在一侧或中间) 那么其对比度就较差,由此我们引入了一种图像处 理——通过改变原始图像各像素在各灰度级上的概率 分布来实现的图像的灰度变换处理方法——直方图的 均衡化。
1.为什么cdf是均衡化的变化函数
设灰度变换 s=f (r) 为斜率有 限的非减连续可 微函数,它将输 入图象A(x,y)转 换为输出图象 B(x,y),输入图 象的直方图为 HA(r),输出图象 的直方图为HB(s), 则它们的关系可 由如下过程导出:
三、例题演示
设有1幅64x64,8bit灰度图像,其直方 图见图1,所用均衡化变换函数(即累积 直方图)见图2,均衡化后的直方图见图 3。
四、直方图均衡化的原理程序(lm2.m)
tmhist=zeros(256,1); cdf=zeros(256,1); mm=imread('f:\ljm\mm.bmp'); plane=rgb2gray(mm); [m,n]=size(plane); t=0:255; bar(t,tmhist); %step1:get histogram for i=1:m; for j=1:n; k=plane(i,j); tmhist(k)=tmhist(k)+1; end end
直方图均衡化计算列表
序号 1 2 3 4 5 6 7 8 运算 列出原始图灰度级Sk,k=0,1,…7 统计原始直方图各灰度级象素数Nk 用式1计算原始直方图(图1) 计算累积直方图(图2) 取整扩展:Tk=int[(L-1)*Tk+0.5] 确定映射对应关系(Sk-->Tk) 统计新直方图各灰度级象素数Nk 用式计算新直方图(图3) 0 790 0.19 0.19 1 1 1023 0.25 0.44 3 2 850 0.21 0.65 5 步骤和结果 3 656 0.16 0.81 6 3,4-》6 1023 0.25 4 329 0.08 0.89 6 5 245 0.06 0.95 7 6 122 0.03 0.98 7 7 81 0.02 1 7
可以证明累积分布函数就是满足上述条件,通过该函数可以完成s到t 的均匀分布转换,即使直方图均衡化的灰度变化函数是累积分布函数 (概率分部函数)。离散情况下的增强转换方程为:
k ni tk EH sk ps (si ) i 0 n i 0 k
0 sk 1
0-》1 1-》3 2-》5 790 0.19
5,6,7-》7 850 0.21 985 0.24 448 0.11
0.3 0.25 0.25 0.21 0.2 0.15 0.19 0.16
1.2 1 0.81 0.8 0.65 0.6 0.44 0.95 0.89 0.98 1
0.1 0.05
0.08 0.06 0.03 0.02
五、用MATLAB实现直方图的均衡化
其实在MATLAB中,用imhist函数求图像直方图,histeq函数可 以实现直方图均衡化操作(histogram equalization)。 程序为:(lm1.m) t0=imread(‘f:\ljm\plane1.gif’); %打开一个图像 Imshow(t0) ; % 显示图像 Imhist(t0,256) ; %求直方图 t1=histeq(t0,256); %求均衡化 Imshow(t1); %显示均衡化后的图像 Imhist(t1,256); %显示均衡化后的直方图
直方图的均衡化
引言
图像增强技术是一大类基本的图像处理技术,其目的 是对图像进行加工,以得到视觉效果更好或更有用的 图像。可是一般的图像不能直接用计算机处理,需要 数字化,也就是把图像分割为象素,每个象素的亮度 (灰度值)用一个整数来表示。每个象素的灰度值量 化后用一个字节(8bit)来表示如把由黑~白的连续 变化的灰度值量化为0~255共256个灰度值。 图像处理有多种方法,最常见的有点处理,它是指根 据图像中象素的原值按一定规律(或变换)来确定其 新值的一种点对点的算法。下面的直方图的均衡化就 是点处理的一种形式。
原图及其直方图,可以看到它的直方图没 有布满允许的范围,低灰度一边比较窄 且集中。
均衡化后的图像及其直方图,它的直方 图占据了整个灰度值允许的范围,图像 的对比度也增强了。
总结
从实现算法上也可以看出其优点主要在于能自动增强 整幅图像的对比度,但具体的增强效果也因此不易控 制,只能得到全局均衡化处理的直方图。 直方图均衡法虽能扩大视觉的动态范围但是以牺牲图 像细节为代价。 新的直方图均衡法:是将改进后的直方图均衡算法和 局部对比度增强法结合起来。前者使图像外貌较好, 后者能增强图像细节。
k=0,1,…L-1 公式(2) 根据该方程可以由原图像的各像素灰度值直接得到直方图均衡化后各 像素的灰度值。 在实际处理变换时,一般先对原始图像的灰度情况进行统计分析,并 计算出原始直方图分布,然后根据计算出的累计直方图分布 t k ,按式 tk int[(L 1)tk 0.5] 对其取整扩展并得出原灰度 s k 到 t k 的灰度映 射关系。重复上述步骤,得到所有的原图像各灰度级到目标图像各灰 度级的映射关系,再按照新的映射关系对原图像各点像素进行灰度转 换,即可完成对原图的直方图均衡化。下面例题是按照上述算法实现 的。
二、直方图的均衡化
直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较 集中的某个灰度区间变成在全部灰度范围内的均匀分布。 对图像空间域点的增强过程是通过增强函数t=EH(s)来完成的, t、s分别为目标图像和原始图像上的像素点(x,y)处的灰度值。 在进行均衡化处理时,增强函数EH需要满足两个条件: 1)、增强函数EH(s)在0≤s≤L-1的范围内是一个单调递增函数, 这个条件保证了在增强处理时没有打乱原始图像的灰度排列次序; 2)、对于0≤s≤L-1应当有0≤EH(s)≤L-1,它保证了变换过程 中灰度值的动态范围的一致性。同样的,对于反变换过程 s=EH-1(t),在0≤t≤1时也必须满足上述两个条件。
0.4 0.19 0.2
0
0
0.3 0.25 0.25 0.21 0.2 0.15 0.11 0.1 0.05 0 0 0 0 0.19 0.24
0.3 0.25 0.2 0.15 0.1 0.05 0
注:由于不能将同一个灰度值的各个象素变换到不 同灰度级,所以数字图像直方图均衡化的结果一般 只是近似均衡的直方图。如图4中的折线是实际均 衡化的结果,而理想均衡化是求平均值,图为一条 水平直线。