MATLAB中实现图像的空间域滤波和频率域滤波

本文介绍了MATLAB中图像的空间域滤波和频率域滤波,包括均值、中值、索贝尔、高斯、拉普拉斯滤波器的原理和效果。空间域滤波中,中值滤波对椒盐噪声去除效果最佳;频率域滤波中,高斯滤波器表现优异。


一)空间域滤波与频率域滤波

 1)空间域滤波

      空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值。主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器。平滑可通过低通来实现,平滑的目的有两类,一是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小尖端连接起来;二是去噪。锐化则可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。

      在matlab中实现空间域滤波,有很多类型,如均值、中值、索贝尔、高斯、拉普拉斯、高斯-拉普拉斯等,但各有差异。下面是用matlab实现的代码:


%空间域滤波
clc;close all;
I=imread('1.tif');
w1=fspecial('average',[3 3]);
w2=fspecial('sobel');
w3=fspecial('gaussian',[3 3],0.5);
w4=fspecial('laplacian',0.2);
w5=fspecial('log',[5 5],0.5);
g1=imfilter(I,w1,'replicate');
g2=imfilter(I,w2,'replicate');
g3=imfilter(I,w3,'replicate');
g4=imfilter(I,w4,'replicate');
g5=imfilter(I,w5,'replicate');
g6=medfilt2(I);
subplot(3,3,1);imshow(I);title('原图');
subplot(3,3,2);imshow(g1);title('均值滤波');
subplot(3,3,3);imshow(g2);title('索贝尔滤波');
subplot(3,3,4);imshow(g3);title('高斯滤波');
subplot(3,3,5);imshow(g4);title('拉普拉斯滤波');
subplot(3,3,6);imshow(g5);title('高斯-拉普拉斯滤波');
subplot(3,3,7);imshow(g6);title('中值滤波');

其运行结果如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值