QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4061|回复: 2
打印 上一主题 下一主题

matlab自带滤波器函数小结(图像处理)

[复制链接]
字体大小: 正常 放大
zxq1989 实名认证       

3

主题

3

听众

669

积分

升级  17.25%

  • TA的每日心情
    慵懒
    2013-10-8 21:22
  • 签到天数: 134 天

    [LV.7]常住居民III

    群组数学天下

    跳转到指定楼层
    1#
    发表于 2012-12-10 20:19 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    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);
    zan
    转播转播0 分享淘帖0 分享分享1 收藏收藏1 支持支持0 反对反对0 微信微信
    zxq1989 实名认证       

    3

    主题

    3

    听众

    669

    积分

    升级  17.25%

  • TA的每日心情
    慵懒
    2013-10-8 21:22
  • 签到天数: 134 天

    [LV.7]常住居民III

    群组数学天下

    回复

    使用道具 举报

    sdccumcm 实名认证      会长俱乐部认证 

    59

    主题

    165

    听众

    5484

    积分

    升级  9.68%

  • TA的每日心情
    开心
    2015-9-28 12:07
  • 签到天数: 832 天

    [LV.10]以坛为家III

    2012挑战赛参赛者

    邮箱绑定达人 发帖功臣 新人进步奖 风雨历程奖 最具活力勋章

    群组MCM优秀论文解析专题

    群组2012第二期MCM/ICM优秀

    群组科学狂想曲

    群组第二届数模基础实训

    群组学术交流B

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-7-15 12:02 , Processed in 0.515717 second(s), 67 queries .

    回顶部