当前位置:首页 > 图像增强
实验二 图像增强
一、实验目的
1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。
2、学会对图像直方图的分析。 3、掌握直接灰度变换的图像增强方法。 4、掌握直方图均衡化。
5、采用均值滤波、中值滤波实现图像平滑。
6、采用梯度方法、拉普拉斯算子、Sobel 算子和 Prewitt 算子实现图像锐化。
二、实验原理及知识点
图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要有直接灰度尺度变换、直方图修改处理、图像平滑化处理、图像尖锐化处理等。
1、 灰度变换
灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。
在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理。若假定原图像f(x, y)的灰度范围为[a, b],希望变换后图像 g(x, y)的灰度范围扩展至[c, d],则线性变换可表示为:
g(x, y)?[ f (x, y)? a]? c
2、 直方图变换
d?cb?a直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。
依据定义,在离散形式下, 用 rk 代表离散灰度级,用 pr(rk)代表 pr(r),并且有下式成
立:
nk Pr(rk)? n
0 ≤rk≤ 1 k? 0,1,2,...,l?1
式中:nk 为图像中出现 rk 级灰度的像素数,n 是图像像素总数,而 nk/n 即为频数。
k
n j
k
sk? T (rk)?∑
3、 空域滤波
?∑ pr(rj) 0≤ rj≤1 k ?0,1,...,l ?1
j ?0 n j ?0
空域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。空域滤波一般分为线性滤波和非线性滤波两类。根据功能又主要分为平滑滤波器和锐化滤波器
空间滤波器都是基于模板卷积,其主要工作步骤是:
1) 将模板在图中移动,并将模板中心与图中某个像素位置重合; 2) 将模板上的系数与模板下对应的像素相乘; 3) 将所有乘积相加;
4) 将和(模板的输出响应)赋给图中对应模板中心位置的像素。
4、 图像平滑
图像平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。平滑是用低通滤波器来完成,在空域中全是正值。
1) 均值滤波
均值滤波也称为线性滤波,其采用的主要方法为领域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),即g(x,y)=1/m ∑f
(x,y),m为该模板中包含当前像素在内的像素总个数。 2) 中值滤波
中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果
好,在抑制随机噪声的同时能有效保护边缘少受模糊。
5、 图像锐化
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的节。
1) 梯度法
邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。图像处理中最常用的微分方法是利用梯度。梯度算子是一种一阶微分算子,常用的梯度算法有经典梯度算法和Roberts梯度算法。常用的其他一阶微分算子有sobel 算子、prewitt 算子等。
2) 拉普拉斯算子
拉普拉斯算子是一种二阶微分算子,它的模板中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。
对3×3 的模板来说,典型的系数取值为:
前者为离散拉普拉斯算子的模板,后者为扩展模板。
三、实验仪器与软件
1、PC 计算机
2、MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox) 3、实验所需要的图片
四、实验内容及步骤
1、灰度变换和伽马校正
图像数据读入 pic=imread(‘rice.bmp’);??
pic1=imadjust(pic…);通过图像直方图比较 pic 和 pic1 的灰度差异??
pic2=imadjust(pic,[],[],gama);其中 gama>1 和 0 函数:imadjust() 功能:调整图像灰度值或颜色映像表,也可实现伽马校正。 2、直方图均衡 语法:J = imadjust(I,[low_in high_in],[low_out high_out],gamma) pic3=histeq(pic); pic4=adapthisteq(pic); 显示原图像的直方图和经过均衡化处理过的图像直方图,比较两种均衡的效果差异 函数:histeq() 3、图像平滑 功能:直方图均衡。 语法:J = histeq(I,hgram)将原始图像I的直方图变成用户指定的向量 hgram。hgram中的各元素的值域为[0,1] J = histeq(I,n)指定直方图均衡后的灰度级数n,默认值为64。 3.1输入图像及灰度化 pic=imread(‘pic.name’); graypic=rgb2gray(pic); 3.2利用 imnoise 命令在图像中添加噪声? 给图像添加高斯噪声 noisepic=imnoise(graypic,’gaussian’,0,p);其中 p 是噪声标准差 给图像添加椒盐噪声 noisepic=imnoise(graypic, ‘salt & pepper’,p);其中 p 是噪声密度 3.3均值滤波 构造平滑卷积模版 H=fspecial(‘average’,n),其中 n 是滤波器大小 图像均匀滤波 denoisepic=imfilter(noisepic,H); 选取不同参数值 p 和 n,比较结果的差异 3.4中值滤波 图像中值滤波 denoisepic=medfilt2(noisepic,[n,n]);其中 n 是模版大小 选择合适的参数值 p 和 n,进行中值滤波 3.5比较均值滤波和中值滤波的差异 4、图像锐化 输入图像及灰度化 pic=imread(‘pic.name’); graypic=rgb2gray(pic); 查阅 edge 命令,通过参数选取用不同方法对上述灰度图求取边缘,并比较不同方法的边缘检测性能。包括梯度方法、拉普拉斯算子、Sobel 算子和 Prewitt 算子。 五、实验结果 1、 pic=imread('rice.bmp'); imshow(pic); imhist(pic); pic1=imadjust(pic); imshow(pic1); imhist(pic1);
共分享92篇相关文档