《数字图像处理》实验报告标题:数字图像的中值,均值滤波和边缘检测算法姓名:学号:班级:数字图像滤波原理及方法和边缘检测算法一.滤波原理图像滤波,即在尽量保留图像细节特征的条件下对目标像的噪声(包括高斯噪声、椒盐噪声、随机噪声)进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接响到后续图像处理和分析的有效性和可靠性。
由于成像系统、传输介质和记录设备等的不完善,数字图像在其形成、传输记录过程中往往会受到多种噪声的污染。
另外,在图像处理的某些环节当输入的像对象并不如预想时也会在结果图像中引入噪声。
这些噪声在图像上常表现为一引起较强视觉效果的孤立象素点或象素块。
一般,噪声信号与要研究的对象不相关它以无用的信息形式出现,扰乱图像的可观测信息。
对于数字图像信号,噪声表为或大或小的极值,这些极值通过加减作用于图像象素的真实灰度值上,在图像造成亮、暗点干扰,极大降低了图像质量,影响图像复原、分割、特征提取、图识别等后继工作的进行。
要构造一种有效抑制噪声的滤波机必须考虑两个基本问题能有效地去除目标和背景中的噪声;同时,能很好地护图像目标的形状、大小及特定的几何和拓扑结构特征。
二.滤波方式(1)中值滤波:中值滤波由Turky在1971年提出,最初用于时间序列分析,后来被用于图像理,并在去噪复原中取得了较好的效果。
中值滤波器是基于次序统计完成信号恢的一种典型的非线性滤波器,其基本原理是把图像或序列中心点位置的值用该域的中值替代,具有运算简单、速度快、除噪效果好等优点,曾被认为是非线波的代表。
然而,一方面中值滤波因不具有平均作用,在滤除诸如高斯噪声之非冲激噪声时会严重损失信号的高频信息,使图像的边缘等细节模糊;另一方中值滤波的滤波效果常受到噪声强度以及滤波窗口的大小和形状等因素的制约了使中值滤波器具有更好的细节保护特性及适应性,人们提出了许多中值滤波器的改进算法!标准中值滤波算法的基本思想是将滤波窗口内的最大值和最小值均视为噪声,用滤波窗口内的中值代替窗口中心像素点的灰度,在一定程度上抑制了噪声。
实际上在一定邻域范围内具有最大或最小灰度值这一特性的,除了噪声点,还包括图像中的边缘点、线性特征点等。
中值滤波以此作为图像滤波依据,其滤波结果不可避免地会破坏图像的线段、锐角等信息。
因此,要找到一种既能实现有效滤除噪声,又能完整保留图像细节的滤波机制,仅考虑噪声的灰度特性是难以实现的中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
二维中值滤波输出为g (x,y )=med{f(x-k,y-l),(k,l ∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。
W 为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。
原理图示滤波步骤1、将模板在图中漫游,并将模板中心与图中某个像素位置重合;2、读取模板下各对应像素的灰度值;3、将这些灰度值从小到大排成一列;4、找出这些值的中间值;5、将这个值赋给对应模板中心位置的像素。
效果展示:(2)均值滤波:均值滤波也称为线性滤波,其采用的主要方法为领域平均法(还有加权平均法)。
线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x ,y ),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x ,y ),作为处理后图像在该点上的灰度个g (x ,y ),即个g (x ,y )=1/m ∑f (x ,y ) m 为该模板中包含当前像素在内的像素总个数。
例如:3×3模板:加权平均模版:例如3*3模版处理过程:1 2 1 2 4 2 121三.图像的边缘检测(1)图像边缘的定义所谓图像边缘(Edlge)是指图像局部特性的不连续性,例如,灰度级的突变,颜色的突变,纹理结构的突变等。
边缘广泛存在于目标与目标、物体与背景、区域与区域(含不同色彩)之间,它是图像分割所依赖的重要特征。
本为主要讨论几种典型的图像灰度值突变的边缘检测方法,其原理也是用于其他特性突变的边缘检测。
图像的边线通常与图像灰度的一阶导数的不连续性有关。
图像灰度的不连续性可分为两类:阶跃不连续,即图像灰度再不连续出的两边的像素的灰度只有明显的差异,如图1.1所示,线条不连续,即图像灰度突然从一个值变化到另一个值,保持一个较小的行程又返回到原来的值。
在实际中,阶跃和线条边缘图像是较少见的,由于空间分辨率(尺度空间)、图像传感器等原因会使阶跃边缘变成斜坡形边缘,线条边缘变成房顶形边缘。
它们的灰度变化不是瞬间的而是跨越一定距离的。
(2)边缘检测与提取主要算法边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。
我们将边缘定义为图像中灰度发生急剧变化的区域边界。
图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
经典的边界提取技术大都基于微分运算。
首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。
2.3.1 Roberts边缘算子Roberts算子是一种利用局部差分算子寻找边缘的算子,由下式给出:g(x,y)={[y x f ,(-)1,1(++y x f ]2+[y x f ,(- )1,1(++y x f ]2}21,其中f(x,y)是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。
Roberts 算子边缘定位准,但是对噪声敏感。
适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts 算子来提取道路。
2.3.2 Sobel 边缘算子Sobel 边缘算子的卷积和如图2.2所示,图像中的每个像素都用这两个核做卷积。
这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。
运算结果是一幅边缘幅度图像。
Sobel 算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。
一般来说,距离越大,产生的影响越小。
2.3.3 Prewitt 边缘算子Prewitt 边缘算子的卷积和如图2.3所示,图像中的每个像素都用这两个核做卷积,取最大值作为输出,也产生一幅边缘幅度图像。
Prewitt 算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用。
但是像素平均相当于对图像的低通滤波,所以Prewitt 算子对边缘的定位不如Roberts 算子。
2.3.4 Laplacian 边缘算子拉普拉斯算子一种二阶边缘检测算子,它是一个线性的、移不变算子。
是对二维函数进行运算的二阶导数算子,对一个连续函数f (x, y)它在图像中的位置(x, y),拉普拉斯值定义为:22222f f f x y∂∂∇=+∂∂-1 -2 -1 0 0 0 1 2 1 -1 0 1-2 0 2 -1 0 1 图2.2 Sobel 边缘算子-1 -1 -1 0 0 0 1 1 1 图2.3 Prewitt 边缘算子 1 0 -1 1 0 -1 1 0 -1Laplacian 算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。
使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。
其4邻域系统和8邻域系统的Laplacian 算子的模板分别如图2.4和图2.5所示。
图2.4 邻域Laplacian 算子 图2.5 邻域Laplacian 算子 通常使用的拉普拉斯算子3×3模板如图2.6所示:图2.6 拉普拉斯算子Laplacian 算子对噪声比较敏感,Laplacian 算子有一个缺点是它对图像中的某些边缘产生双重响应。
所以图像一般先经过平滑处理,通常把Laplacian 算子和平滑算子结合起来生成一个新的模板。
四.实验代码1.均值,中值滤波im = imread('lena.jpg'); figure;imshow(im);imNoise = imnoise(im,'salt & pepper',0.02);//加入椒盐噪声 figure;imshow(imNoise);im2 = medfilt2(imNoise, [5, 5]);//中值滤波 figure;imshow(im2);A = fspecial('average', 5);//均值滤波 im3 = filter2(A,imNoise); figure;imshow(im3, []);0 1 0 1 -4 1 0 1 0 1 1 1 1 1 -8 11 1 1 -1 -1 -1-1 8 -1-1 -1 -1 -1 0 1 -2 4 2 -1 0 1 -1 -2 -1 0 0 0 1 2 12.边缘检测edge1=edge(im,'sobel');//sobel算子figure;imshow(edge1);edge2=edge(im,'Roberts');//Roberts算子figure;imshow(edge2);edge3=edge(im,'prewitt');//prewitt算子figure;imshow(edge3);。