专业综合实验指导书(3)

2019-08-31 11:34

图像增强是指按特定的需要突出一幅图像中的有用信息,同时,消弱或去除某些不需要的信息,提高图像的使用价值的处理方法。常用的图像增强技术有灰度修正法、直方图修正法,图像平滑处理、图像锐化处理、几何校正和彩色处理技术等空间域处理方法。还有频域增强、维纳滤波和卡尔曼滤波等频率域处理方法。

1.噪声及其噪声的Matlab实现

实际获得的图像一般都因受到某种干扰而含有噪声。引起噪声的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特性及它与图像信号的关系。

根据噪声与信号的关系可以将其分为两种形式。

(1) 加性噪声。当噪声与图像信号g(x,y)无关,在这种情况下,含噪声图像f(x,y)可表示为 f(x,y)=g(x,y)+n(x,y)

信道噪声及扫描图像时产生的噪声都属于加性噪声。

(2) 乘性噪声。当噪声与图像信号有关时,又分为两种情况,一种是某像素处的噪声只与该像素的图像有关,另一种是某像素点处的噪声与该像素点及其邻域的图像信号有关。例如,用飞点扫描器扫描图像时产生的噪声就与图像信号有关。如果噪声和信号成正比,则含噪图像f(x,y)可以表示为

f(x,y) = g(x,y)+n(x,y)g(x,y) = [1+n(x,y)]g(x,y)

另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声和颗粒噪声等。泊松噪声一般出现在照度非常小及用高倍电子线路放大器的情况下;椒盐噪声可认为是泊松噪声;其他的情况通常为加性高斯噪声。颗粒噪声可以认为是白噪声过程,在密度域中是高斯分布的加性噪声,而在强度域中为乘性噪声。

Matlab7.0的图像处理工具箱提供了模拟噪声生成函数imnoise,可以对图像添加某些典型的噪声。

imnoise函数

格式:J=imnoise(I,type)

J=imnoise(I,type,parameter) 说明:J=imnoise(I,type) 返回对图像I添加典型噪声后的有噪图像J,参数type和parameter用于确定噪声的类型和相应的参数。

例1 对图像rice.png分别添加高斯噪声、椒盐噪声和乘性噪声。 I=imread('h1.bmp');

J1=imnoise(I,'gaussian',0,0.02); %添加零均值高斯噪声,噪声方差0.02 J2=imnoise(I,'salt & pepper',0.02); %添加椒盐噪声,噪声方差0.02 J3=imnoise(I,'speckle',0.02); %添加乘性噪声,噪声方差0.02 subplot(2,2,1),imshow(I); title('原图像')

subplot(2,2,2),imshow(J1); title('添加高斯噪声图像') subplot(2,2,3),imshow(J2); title('添加椒盐噪声图像') subplot(2,2,4),imshow(J3);

title('添加乘性噪声图像')

2.图像滤波的Matlab实现

Matlab中提供的空间域数字图像滤波函数主要有conv2函数、filter2函数和fspecial函数。

(1) conv2函数

功能:计算二维卷积。

格式:C=conv2(A,B) C=conv2(Hcol,Hrow,A) C=conv2(?,'shape') 说明:对于C=conv2(A,B),conv2计算矩阵A和B的卷积,若[Ma,Na]=size(A)、[Mb,Nb]=size(B),则size(C)=[Ma+Mb-1,Na+Nb-1]; C=conv2(Hcol,Hrow,A)中,矩阵A分别与Hcol向量在列方向和Hrow向量在行方向上进行卷积;C=conv2(?,'shape')用来指定conv2返回二维卷积结果部分,参数shape可取值如下:

? full为缺省值,返回二维卷积的全部结果;

? same返回二维卷积结果中与A大小相同的中间部分;

? valid返回在卷积过程中,未使用边缘补0部分进行计算的卷积结果部

分,当size(A)

功能:计算二维线性数字滤波,它与函数fspecial连用。 格式:Y=filter2(B,X)

Y=filter2(B,X,'shape') 说明:对于Y=filter2(B,X),filter2使用矩阵B中的二维FIR滤波器对数据X进行滤波,结果Y是通过二维互相关计算出来的,其大小与X一样;对于Y=filter2(B,X,'shape'),filter2返回的Y是通过二维互相关计算出来的,其大小由参数shape确定,其取值如下:

? full返回二维相关的全部结果,size(Y)>size(X);

? same返回二维互相关结果的中间部分,Y与X大小相同; ? valid返回在二维互相关过程中,未使用边缘补0部分进行计算的结果部

分,有size(Y)

(3) fspecial函数功能为产生预定义滤波器。具体语法为:

H=fspecial(type) fspecial函数产生一个有type指定的二维滤波器H H=fspecial('gaussian',n,sigma) 产生高斯低通滤波器

H=fspecial('sobel') 产生Sobel水平边缘增强滤波器

H=fspecial('prewitt') 产生Prewitt水平边缘增强滤波器 H=fspecial('laplacian',alpha) 产生二维拉普拉斯运算滤波器

H=fspecial('log',n,sigma) 产生高斯拉普拉斯(LOG)运算滤波器 H=fspecial('average',n) 产生均值滤波器

H=fspecial('unsharp',alpha) 产生模糊对比增强滤波器

3.邻域平均法(均值滤波)

以像素为中心,灰度值为f(x,y),窗口像素组成的点集用A表示,集内像素数以L表示。经过邻域平均法滤波后,像素f(x,y)对应的输出为g(x,y):

g(x,y)?1L?f(x,y)

(x,y)?A即用窗口像素的平均值g(x,y)取代f(x,y)原来的灰度值。 例2 3×3均值模板的生成 Average=[1,1,1;1,1,1;1,1,1]; 例3 邻域平均法滤波 I=imread('tire.tif');

J=imnoise(I,'salt & pepper',0.02); %添加椒盐噪声 subplot(2,2,1),imshow(I); title('原图像')

subplot(2,2,2),imshow(J); title('添加椒盐噪声图像')

K1=filter2(fspecial('average',3),J)/255; %应用3×3邻域窗口法 subplot(2,2,3),imshow(K1);

title('3×3窗的邻域平均滤波图像')

K2=filter2(fspecial('average',7),J)/255; %应用3×3邻域窗口法 subplot(2,2,4),imshow(K2);

title('7×7窗的邻域平均滤波图像');

4.中值滤波

中值滤波(Median filtering)是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。1971年,Tukey在进行时间序列分析时提出中值滤波器的概念。其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值替换。这种滤波器的优点是运算简单而且速度较快,在滤除叠加白噪声和长尾叠加噪声方面显示出了极好的性能。中值滤波器在滤除噪声(尤其是脉冲噪

声)的同时能很好地保护信号的细节信息(例如边缘、锐角等)。另外,中值滤波器很容易自适应化,从而可以进一步提高其滤波性能。

设f(x,y)表示数字图像像素点的灰度值滤波窗口为A的中值滤波器可以定义为:

g(x,y)?Med(x,y)?A?f(x,y)?

上面数字图像中的值用邻域的最大值替换的滤波器称为最大值滤波器,如果替换的值是最小值就称为最小值滤波器。

在Matlab图像处理工具箱中,medfilt2函数实现中值滤波器。其调用格式如下:

B=medfilt2(A,[m n]) 对图像A执行二维中值滤波。每个输出像素为 m×n邻域的中值。在图像边界用0填充图像,所以边缘的中值为[m n]/2区域的中值,可能失真。

B=medfilt2(A) 为m和n缺省为3的情况。

四、实验步骤

1.打开计算机,启动MATLAB程序;

2.调入“图像平滑”文件夹中的数字图像,对已经叠加高斯噪声的图像利用邻域平均法进行滤波,窗口尺寸先用3×3,再取5×5逐渐增大,显示滤波前后的图像。

3.调入“图像平滑”文件夹中的数字图像,对已经叠加高斯噪声和椒盐噪声的图像利用邻域平均法和中值滤波法进行滤波,窗口尺寸均为3×3,显示原图像和经过滤波后的图像。(注意边界像元的处理)

4.记录和整理实验报告。

五、实验仪器

1.计算机 Pentium Ⅳ;CPU 586以上;32M以上内存;Windows XP操作系统;Matlab 7软件;

2.MATLAB程序;

3.移动式存储器(U盘等)。 4.记录用的笔、纸。

六、实验报告内容

1.叙述实验过程;

2.描述实验中编写的图像处理源代码。 3.提交实验的原始图像和结果图像。 4.总结并分析实验结果。

七、思考题

1.在对图像进行邻域平均法滤波时,邻域半径的大小对图像有什么影响,为什么?

2.邻域平均法更适合于处理高斯噪声还是椒盐噪声?试分析原因。 3.中值滤波更适合于处理高斯噪声还是椒盐噪声?试分析原因。

4.对叠加有乘性噪声的图像,设计一种处理方法,既能去噪声又能保持边

缘清晰。

实验四 图像分割

一、实验目的

掌握常用的边缘提取算法,从图像中提取感兴趣的区域,实现图像分割。在图像中,寻找灰度相同或相似的区域,区分图像中的背景区域和目标区域,利用Matlab实现图像的边缘检测,进行图像分割。

二、实验要求

1. 运用罗伯特梯度算子、Sobel算子、Prewitt算子、LoG算子、Canny算

子等检测图像边缘,编程实现并观看图像分割的效果。

2. 运用边缘检测函数edge对图像作边缘检测,并观看检测效果。

三、实验原理及内容

图像边缘是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素的集合。图像边缘存在于目标与背景、目标与目标、基元与基元的边界,标示出目标物体或基元的实际含量,是图像识别信息最集中的地方。

图像分割处理主要用于检测出图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表示同一物体表面的区域检测出来的目的。常用的分割方法是边缘检测。边缘检测是采用多种边缘算子实现突出图像边缘,抑制图像中非边缘信息,使图像轮廓更加清晰。

1.梯度算子法

对于图像f(x,y),它在点f(x,y)处的梯度是一个矢量,定义为

??fG?f?x,y???????x?f????y?T

梯度的方向在函数f(x,y)最大变化率的方向上,梯度的幅值为

?f???f???f??????????x???y?22

梯度的数值就是f(x,y)在其最大变化率方向上的单位距离所增加的量。对于

图像而言,微分运算可以用差分运算来近似。

???x??y?f(x,y)?f(x?1,y)?f(x,y)?f(x,y?1)

简化成模板可以表示成如下形式:


专业综合实验指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程施工类论文终稿样例12

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: