能力拓展训练

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1 设计任务 (1)

2 原理说明 (1)

2.1 直方图均衡化的概念 (1)

2.2 图像灰度直方图 (1)

2.3 直方图均衡化 (1)

3 直方图均衡化算法分析 (2)

3.1 系统原理阐述 (2)

3.2 局部直方图均衡化原理 (3)

3.3 设计方案流程图 (4)

4 Matlab环境下算法实现及结果分析 (5)

4.1 程序运行结果 (5)

4.2 程序运行结果分析 (6)

5 综合分析及结论 (7)

6 小结及体会 (7)

参考资料 (8)

附录:程序清单 (9)

图像直方图均衡化的MATLAB实现

1 设计任务

初始条件: PC机,MATLAB

要求完成的主要任务:

对256级灰度的图像,进行全局直方图均衡化和局部直方图均衡化处理。

设计图形界面(GUI)程序,使用滑动条实现局部直方图均衡化子图大小的调节(3*3,5*5,7*7等等)。显示原始图像,全局直方图均衡化后的图像和局

部直方图均衡化后的图像。同时显示原始图的像直方图,全局直方图均衡化后的直方图和局部直方图均衡化后的直方图。

2 原理说明

2.1 直方图均衡化的概念

直方图均衡化又称直方图平坦化,这个方法的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而达到增强图象整体对比度的效果。实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。

2.2 图像灰度直方图

直方图是表示数字图像中每一灰度出现频率的统计关系。直方图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对比度等概貌性描述。灰度直方图是灰度级的函数, 反映的是图像中具有该灰度级像素的个数, 其横坐标是灰度级r, 纵坐标是该灰度级出现的频率( 即像素的个数) pr( r) , 整个坐标系描述的是图像灰度级的分布情况, 由此可以看出图像的灰度分布特性, 即若大部分像素集中在低灰度区域, 图像呈现暗的特性; 若像素集中在高灰度区域, 图像呈现亮的特性。

2.3 直方图均衡化

图1所示就是直方图均衡化, 即将随机分布的图像直方图修改成均匀分布的直方图。基本思想是对原始图像的像素灰度做某种映射变换, 使变换后图像灰度的概率密度呈均匀分布。这就意味着图像灰度的动态范围得到了增加, 提高了

图像的对比度。

图1 直方图均衡化

通过这种技术可以清晰地在直方图上看到图像亮度的分布情况, 并可按照需要对图像亮度调整。另外,这种方法是可逆的, 如果已知均衡化函数, 就可以恢复原始直方图。

3 直方图均衡化算法分析

3.1 系统原理阐述

若一幅图像其像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调,而显示出一幅灰度级丰富且动态范围大的图像。直方图均衡化方法仅依靠输入图像的直方图的信息就可以达到这一效果,这个方法的基本思想是把原始图像不均衡的直方图变换为均匀分布的形式,这样就增加了灰度值的动态范围,从而达到增强图像整体对比度的效果。

设变量r 代表图像中像素灰度级。对灰度级进行归一化处理, 则0≤r ≤1, 其中r= 0表示黑, r= 1表示白。对于一幅给定的图像来说, 每个像素值在[ 0,1] 的灰度级是随机的。用概率密度函数)(r p r 来表示图像灰度级的分布。

为了有利于数字图像处理, 引入离散形式。在离散形式下, 用k r 代表离散灰度级, 用)(k r r P 代表)(r p r , 并且下式成立:n

nk r P k r =)( 其中, 0≤k r ≤1, k=0, 1, 2, …, n-1。式中k n 为图像中出现k r 这种灰度的像素数, n 是图像中的像素总数, 而

n nk 就是概率论中的频数。图像进行直方图均衡化的函数表达式为:

∑-===10)(k i i i i n

n r T S 式中, k 为灰度级数。相应的反变换为:)(1i i S T r -=

3.2 局部均衡化原理

设图像f(x,y)的大小M*N为,输出图像为g(x,y),移动模板B的大小m*n 维,如果不考虑边界情况,局部直方图均衡化算法可总结如下:(1)对图像的第一行进行处理,令x=m/2;

(2)如果x>M-m/2,程序结束,否则转入下一步;

(3)对第一列进行处理,令y=n/2;

(4)若y=N-n/2,令x=x=1,转向步骤(2);否则。按照移动模板B的大小取出图像f中的子块fb。

Fb(i,j)={f(i,j)|i=[x-m/2,x-m/2+1,....,x+m/2],j=[y-n/2,y-n/2+1,......y +n/2]};

(5)对fb进行直方图均衡化gb=T(fb)其中,T(x)代表直方图变换;

(6)将用上述所得子块gb的中心点代替输出图像g的中心点g(x+m/2,y+n/2)=gb(x+m/2,y+n/2);

(7)对y递增,y=y+1,重复步骤(4);

(8)对x递增,x=x+1,重复步骤(2)。

3.3 设计方案流程图

开始

从E盘读入图像

归一化直方图

累计直方图

局部均衡化并输出局部均衡化后的图像

输出图像局部均衡化后的直方图

读取需要处理的图像

进行全局均衡化

输出全局均衡化后的图像及其直方图

结束

相关文档
最新文档