实验四 图像的空域滤波
一、实验目的
1、理解图像滤波的基本定义及目的;
2、掌握空域滤波的基本原理及方法;
3、掌握用 MATLAB 语言进行图像的空域滤波的方法。
1、读出“girl.bmp”这幅图像。给读出的图像加入高斯噪声。
2、分别采用不同大小的模板对加有噪声的图像进行均值滤波,用一个图像处理对话框
显示原图像、加有噪声的图像及均值滤波的图像。比较结果。
二、实验原理
1、 均值滤波
2、中值滤波
MATLAB 图像处理工具箱提供了基于卷积的图像滤波函数 filter2。filter2 的语法格式
为:
Y = filter2(h, X)
其中 Y = filter2(h,X)返回图像 X 经算子 h 滤波后的结果,默认返回图像 Y 与输入图像 X 大
小相同。
其实 filter2 和 conv2 是等价的。MATLAB 在计算 filter2 时先将卷积核旋转 180 度,再
调用 conv2 函数进行计算。
fspecial 函数用于创建预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type, parameters)
参数 type 指定算子类型,parameters 指定相应的参数,具体格式为:
type='average',为均值滤波,参数 parameters 为 n,代表模版尺寸,用向量表示,默认
值为[3,3]。
type= 'gaussian',为高斯低通滤波器,参数 parameters 有两个,n 表示模版尺寸,默认
值为[3,3],sigma 表示滤波器的标准差,单位为像素,默认值为 0.5。
type= 'laplacian',为拉普拉斯算子,参数 parameters 为 alpha,用于控制拉普拉斯算子
的形状,取值范围为[0,1],默认值为 0.2。
type= 'log',为拉普拉斯高斯算子,参数 parameters 有两个,n 表示模版尺寸,默认值
为[3,3],sigma 为滤波器的标准差,单位为像素,默认值为 0.5
type= 'prewitt',为 prewitt 算子,用于边缘增强,无参数。
type= 'sobel',为著名的 sobel 算子,用于边缘提取,无参数。
type= 'unsharp',为对比度增强滤波器,参数 alpha 用于控制滤波器的形状,范围为[0,1],默