• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab中滤波函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
matlab自带滤波器函数小结(图像处理)  
1 线性平滑滤波器
用MATLAB实现领域平均法抑制噪声程序:
I=imread(\' c4.jpg \');
subplot(231)
imshow(I)
title(\'原始图像\')
flag = isrgb(I);
if flag==true
   I=rgb2gray(I);
else
    I=I;
end
I1=imnoise(I,\'salt & pepper\',0.02);
subplot(232)
imshow(I1)
title(\' 添加椒盐噪声的图像\')
k1=filter2(fspecial(\'average\',3),I1)/255;          %进行3*3模板平滑滤波
k2=filter2(fspecial(\'average\',5),I1)/255;          %进行5*5模板平滑滤波

k3=filter2(fspecial(\'average\',7),I1)/255;          %进行7*7模板平滑滤波
k4=filter2(fspecial(\'average\',9),I1)/255;          %进行9*9模板平滑滤波
subplot(233),imshow(k1);title(\'3*3 模板平滑滤波\');
subplot(234),imshow(k2);title(\'5*5 模板平滑滤波\');
subplot(235),imshow(k3);title(\'7*7 模板平滑滤波\');
subplot(236),imshow(k4);title(\'9*9 模板平滑滤波\');

2 中值滤波器
用MATLAB实现中值滤波程序如下:
I=imread(\' c4.jpg \');
flag = isrgb(I);
if flag==true
   I=rgb2gray(I);
else
    I=I;
end
J=imnoise(I,\'salt&pepper\',0.02);
subplot(231),imshow(I);title(\'原图像\');
subplot(232),imshow(J);title(\'添加椒盐噪声图像\');
k1=medfilt2(J);            %进行3*3模板中值滤波
k2=medfilt2(J,[5,5]);      %进行5*5模板中值滤波
k3=medfilt2(J,[7,7]);      %进行7*7模板中值滤波
k4=medfilt2(J,[9,9]);      %进行9*9模板中值滤波
subplot(233),imshow(k1);title(\'3*3模板中值滤波\');
subplot(234),imshow(k2);title(\'5*5模板中值滤波 \');
subplot(235),imshow(k3);title(\'7*7模板中值滤波\');
subplot(236),imshow(k4);title(\'9*9 模板中值滤波\');

3 状态统计滤波器:ordfilt2函数
Y=ordfilt2(X,order,domain)
由domain中非0元素指定邻域的排序集中的第order个元素代替X中的每个元素。Domain是一个仅包括0和1的矩阵,1仅定义滤波运算的邻域。
Y=ordfilt2(X,order,domain,S)
S与domain一样大,用与domain的非0值相应的S的值作为附加补偿。

4 二维自适应除噪滤波器:wiener2函数
wiener2函数估计每个像素的局部均值与方差,该函数用法如下:
J=wiener2(I,[M N],noise)
使用M×N大小邻域局部图像均值与偏差,采用像素式自适应滤波器对图像I进行滤波。
[J,noise]=wiener2(I,[M N])
滤波前还有估计附加噪声的能量。

5 特定区域滤波
MATLAB图像处理工具箱中提供的roifilt2函数用于对特定区域进行滤波,其语法格式为:
J=roifilt2(h,I,BW)
其功能是:使用滤波器h对图像I中用二值掩模BW选中的区域滤波。
J=roifilt2(I,BW,fun)
J=roifilt2(I,BW,fun,P1,P2,…)
其功能是:对图像I中用二值掩模BW选中的区域作函数运算fun,其中fun是描述函数运算的字符串,参数为P1、P2、…。返回图像J在选中区域的像素为图像I经fun运算的结果,其余部分的像素值为I的原始值。
例:对指定区域进行锐化滤波的程序清单:
I=imread(\'eight.tif\');
c=[222 272 300 272 222 194];
r=[21 21 75 121 121 75];
BW=roipoly(I,c,r);
h=fspecial(\'unsharp\');
J=roifilt2(h,I,BW);
subplot(1,2,1);imshow(I);
subplot(1,2,2);imshow(J);

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi数组及长度发布时间:2022-07-18
下一篇:
Delphi中模拟鼠标操作发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap