精华内容
下载资源
问答
  • matlab 图像滤波

    2012-11-19 22:35:37
    常用图象滤波器的设计方法 matlab实现一个通用的高通、低通滤波器函数,其中又分别实现理想、巴特沃思和高斯滤波形式并用实现的函数对图象进行高通处理,将所给图象增加噪声后再进行低通处理,处理后分别进行伪彩色...
  • matlab滤波函数

    2014-06-25 19:47:00
    matlab自带滤波器函数小结(图像处理) 1 线性平滑滤波器 用MATLAB实现领域平均法抑制噪声程序: I=imread(' c4.jpg '); subplot(231) imshow(I) title('原始图像') flag = isrgb(I); if flag==true I=rgb...
    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);

    转载于:https://www.cnblogs.com/Daringoo/p/4034469.html

    展开全文
  • matlab下输入命令doc 函数名就可以调出帮助文档,有详细的关于该函数的解释。以下是关于这3个滤波函数简要的总结。假定在图像处理中。

    在matlab下输入命令doc 函数名就可以调出帮助文档,有详细的关于该函数的解释。以下是关于这3个滤波函数简要的总结。假定在图像处理中。


    1. imfilter
    imfilter函数对任意类型数组或多维图像进行滤波。
    用法:
    g = imfilter(f, w, options,…)
    f:原始输入图像。
    w:滤波掩模(如我们平时常会用到的一些边沿检测算子、对象进行平滑的高斯算子等)
    g:对原始图像进行滤波后得到的输出图像。默认情况下尺寸与原始图像相同。
    后面的options对应的参数可选,不选的话有其默认值。options对应的共有3个参数,分别是处理滤波模型选项filtering_mode,“相关”或“卷积”;边界处理选项boundary_options;输出图像尺寸选项size_options。这几个参数顺序无关。具体参数见下表:

    参数列表 选项 描述
    filtering_mode ‘corr’ 相关(默认)
    ‘conv’ 卷积
    boundary_options X 输入图像的边界通过用值X值来填充扩展其默认值为0
    ‘replicate’ 复制外边界值
    ‘symmetric’ 镜像反射
    ‘circular’ 图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
    size_options ‘full’ 输出图像的大小与被扩展图像的大小相同
    ‘same’ 输出图像的大小与输入原始输入图像一样(默认)

    2. filter2
    filter2是相关滤波函数
    用法:
    假设输入图像X大小为ma x na,卷积核B大小为mb x nb
    Y = filter2(H,X,shape)
    H:相关核,即是上边提到的滤波掩模
    X:输入图像
    shape:可选,其参数如下:
    ‘same’(默认值):返回与X同样尺寸滤波后的图像。ma × ma
    ‘full’:返回全部二维滤波结果。(ma+mb-1)x(na+nb-1)
    ‘valid’:不考虑边界补零,即只要有边界补出的零参与运算的都舍去。(ma-mb+1)x(na-nb+1)
    3. conv2
    conv2是卷积滤波函数
    用法:
    Y = conv2(H,X,shape)
    与filter2类似。不一样的是在计算时要将卷积核H进行旋转180°,相关核H则不需要。
    如果理解卷积与相关定理的话是很容易理解的。

    展开全文
  • 1、conv2函数 C=conv2(A,B,shape); %卷积滤波 参数说明: A:输入图像 B:卷积核 shape的可选值为full、same、valid。 1)当shape=full时,返回全部二维卷积结果,即返回B的大小为(ma+mb-1)x(na+nb-1)。 2)...

    1、conv2函数

    C=conv2(A,B,shape); %卷积滤波 
    参数说明: 
    A:输入图像 
    B:卷积核 
    shape的可选值为full、same、valid。 
    1)当shape=full时,返回全部二维卷积结果,即返回B的大小为(ma+mb-1)x(na+nb-1)。 
    2)shape=same时,返回与A同样大小的卷积中心部分。 
    3)shape=valid时,不考虑边界补零,即只要有边界补出的零参与运算的都舍去,返回B的大小为(ma-mb+1)x(na-nb+1)。 
    上面叙述看起来略有些抽象,可以结合下面的图一起理解。 
    3种参数的区别见图。 

    这里写图片描述

     

    这里写图片描述

     

    这里写图片描述

    2、filter2函数

    B = filter2(h,A,shape) ; %相关(correlation)滤波 
    这里需要明晰一下卷积和相关的区别,卷积操作就是先将卷积核旋转180度然后再和核大小相同的区域内的各元素对应相乘再相加。也就是核旋转180后卷积。而相关操作就是直接用核卷积,不做旋转。注意,我在叙述的时候,把2个区域对应元素相乘再相加这一个操作称为卷积。 
    参数说明: 
    A:输入图像,h:相关核 
    假设输入图像A大小为ma x na,相关核h大小为mb x nb。 
    1)当shape=full时,返回全部二维卷积结果,即返回B的大小为(ma+mb-1)x(na+nb-1) 
    2)shape=same时,返回与A同样大小的卷积中心部分。 
    3)shape=valid时,不考虑边界补零,即只要有边界补出的零参与运算的都舍去,返回B的大小为(ma-mb+1)x(na-nb+1)。

    3、imfilter函数

    imfilter函数能够实现3通道的RGB图像和单通道的滤波器的卷积,并且返回的图像也是3通道的。 
    B=imfilter(A,H,option1,option2,option3); 
    参数说明: 
    A:输入图像,H:滤波核 
    1)option1:边界选项,可选的有:补充固定的值X(默认都补零),symmetric,replicate,circular 
    2)option2:输出图像大小选项,可选的有same(默认),full 
    3)option3:决定采用与filter2相同的相关滤波还是与conv2相同的卷积滤波

    4、三者的比较

    1)filter2输入类型无所谓,输出是double的,输入在边界总是补零(zero padded), 不支持其他的边界补充选项。 
    2)conv2的输入只能为double型的,否则会提示警告,输出也是double型的。 
    2) imfilter:不一定要将输入转换为double,但是输出只与输入同类型,有灵活的边界补充选项。有symmetric、replicate,same等。 
    在适用图像的维度上,imfilter可进行多维图像(RGB等)进行空间滤波,filter2 只能对二维图像(灰度图)进行空间滤波,conv2可以对图像矩阵实现自己想实现的卷积操作,最简单最常用的是二维。所以conv2和filter2类似,多维图像(RGB等)要用imfilter。

    展开全文
  • Matlab滤波函数

    千次阅读 2015-01-10 11:28:10
    MATLAB图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为: Y = filter2(h,X) 其中Y = filter2(h,X)返回图像X经滤波算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。其实filter2和...
    

    filter2
    MATLAB图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为:
    Y = filter2(h,X)
    其中Y = filter2(h,X)返回图像X经滤波算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。其实filter2和conv2是等价的。MATLAB在计算filter2时先将卷积核旋转180度,再调用conv2函数进行计算。

    conv2函数

    C=conv2(A,B,shape);

    A:输入图像,B:卷积核
           假设输入图像A大小为ma x na,卷积核B大小为mb x nb,则
           当shape=full时,返回全部二维卷积结果,即返回C的大小为(ma+mb-1)x(na+nb-1)
          shape=same时,返回与A同样大小的卷积中心部分
           shape=valid时,不考虑边界补零,即只要有边界补出的零参与运算的都舍去,返回C的大小为(ma-mb+1)x(na-nb+1)
    2、实现步骤
        假设输入图像A大小为ma x na,卷积核大小为mb x nb,则MATLAB的conv2函数实现流程如下:
            a、对输入图像补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零)。
            b、关于卷积核的中心,旋转卷积核180度。
            c、滑动卷积核,将卷积核的中心位于图像矩阵的每一个元素。
            d、将旋转后的卷积核乘以对应的矩阵元素再求和。
    3、实现过程展示
         假设有图像A=[4 3 1 2;0 1 1 3;5 2 0 0],卷积核B=[1 2 3;0 -1 2;1 1 0]
             a、首先是按照上面的步骤进行补零,如下图外圈红色的为补出的零

    fspecial函数

    用于建立预定义的滤波算子,其语法格式为:
    h = fspecial(type)
    h = fspecial(type,para),其中type指定算子的类型,para指定相应的参数;
    type的类型有 'average' 为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。  'disk' 为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.  'gaussian' 为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5.  'laplacian' 为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2.  'log' 为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准差,单位为像素,默认值为0.5.  'motion' 为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;  'prewitt' 用于边缘增强,大小为[3 3],无参数  'sobel' 用于边缘提取,无参数  'unsharp' 为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.

    ordfilt2

     B=ordfilt2(A,ORDER,DOMAIN) A中的每个元素的邻域元素排序,第order个元素替代当前元素。二维统计顺序滤波函数,对于给定的n个数值{al ,a2,...,an},将它们按大小顺序排列,将处于第k个位置的元素作为图像滤波输出,即序号为k的二维统计滤波。ordfilt2函数语法格式为:
    Y=ordfilt2(X,order,domain)
     Y=ordfilt2(X,order,domain,S)
    其功能是:对图像X作顺序统计滤波,order为滤波器输出的顺序值,domain为滤波窗口。S是与domain大小相同的矩阵,它是对应domain中非零值位置的输出偏置。例如:
    Y=ordfilt2(X,5,ones(3,3)),相当于3×3的中值滤波
    Y=ordfilt2(X,1,ones(3,3)),相当于3×3的最小值滤波
    Y=ordfilt2(X,9,ones(3,3)),相当于3×3的最大值滤波
    Y=ordfilt2(X,1,[0 1 0;1 0 1;0 1 0]),输出的是每个像素的东、西、南、北四个方向相邻像素灰度的最小值。

    
    展开全文
  • Matlab 最大值滤波 中值滤波 最小值滤波 函数 ordfilt2 ...在MATLAB图像处理工具箱中提供了二维统计顺序滤波函数ordfilt2函数。二维统计顺序滤波是中值滤波的推广,对于给定的n个数值{al ,a2,...,
  • matlab实现图像滤波——高斯滤波

    万次阅读 多人点赞 2016-10-07 14:49:44
    生成一个(2N+1)×(2N+1)大小的高斯模板H(标准为sigma),然后用此模板对图像进行滤波。不允许使用 fspecial 来产生高斯模板,不允许使用 imfilter、conv2 等函数。 原理及算法 理解:高斯滤波就是对整幅...
  • MATLAB 理想高通滤波函数 数字图像处理
  • MATLAB常用的滤波函数比较:均值滤波和中值滤波 均值滤波中值滤波运行结果程序代码 均值滤波 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,...
  • out:滤波后的函数 img:输入待滤波图像 filt:滤波掩模 filt滤波掩模的由来 ①自己设定 h = 1/16* [1, 4, 6, 4, 1]; ②matlab生成 h=fspecial(‘gaussian’,7,8); 表示产生77的gaussian矩阵,其标准差为8; h=...
  • 用于数字图像处理的Matlab高斯滤波,此为单独封装的函数
  • 课程设计任务书 学生姓名 专业班级 指导教师 工作单位 武汉理工大学 题 目: 基于MATLAB图像滤波设计 初始条件 (1) Matlab仿真软件及其相关基本知识基本操作技能 (2) 基础数学数字信号处理与图像处理课程相关基础...
  • MATLAB 滤波函数的源代码

    千次阅读 2017-05-24 13:52:51
    目前比较经典的图像去噪算法主要有以下三种:   均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度 的平均值来代替每个像素的灰度。...%x是需要滤波图像,n是模板大小(即n×n)  function 
  • 项目中涉及到求取图像梯度,想到以滤波方式实现。
  • Matlab中值滤波去噪(即OpenCv中Blur函数作用替代) 在研究分离聚散焦图片时...//均值滤波函数,x是需要滤波的图像,n是模板大小 n*n function d=avefilt(x,n) a=(1:n,1:n)=1; p=size(x); x1=double(x); x2=x1; for ...
  • 虽然matlab里面有这些函数,但是要求自己编写,计算机视觉上有这个实验,是...%自编的均值滤波函数。x是需要滤波的图像,n是模板大小(即n×n)function d=avefilt(x,n)a(1:n,1:n)=1; %a即n×n模板,元素全是1p=size(x);...
  • Matlab滤波操作的相关函数

    万次阅读 2018-10-20 15:28:53
    Matlab中与滤波相关的函数:imfilter 和fspecial。imfilter完成滤波操作,fspecial用于创建一些预定义的二维滤波器供imfilter调用。 imfilter函数 函数格式:g=imfilter(f, w, option1, option2,…) 参数说明: f是...
  • 课程设计任务书 学生姓名 专业班级 指导教师 工作单位 武汉理工大学 题目基于MATLA的图像滤波设计 初始条件 Matlab仿真软件及其相关基本知识基本操作技能 基础数学数字信号处理与图像处理课程相关基础知识 要求完成...
  • MATLAB 自适应中值滤波函数adpmedian

    千次阅读 2019-04-01 17:44:09
    MATLAB 自适应中值滤波函数adpmedian 参考 冈萨雷斯 《数字图像处理》MATLAB版 function f = adpmedian(g,Smax) if (Smax<=1)||(Smax/2==round(Smax/2))||(Smax~=round(Smax)) error('Smax must be an odd...
  • matlab 图像中值滤波,自己编写

    热门讨论 2012-06-29 11:31:39
    matlab邻域中值滤波,里面有邻域中值滤波的两种情况处理方式,不超过边界和超过边界用0填充处理,未用matlab中可以直接调用的滤波函数,自己编写的中值滤波函数
  • 下面是对图像进行滤波,以及求滤波后的图像与原图像的绝对值差的实现过程,涉及到的函数有filter2,imabsdiff函数: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear ...
  • 读入图像im=imread('test.jpg'); subplot(221),imshow(im),title('原始图像');巴特沃斯滤波for i=1:im_width for j=1:im_height D=sqrt((i-N1)^2+(j-N2)^2); H=1/(1+0.414*(D/D0)^2*n); im_result(i,j...
  • 均值滤波的原理是对图像以一个...本文将尝试对matlab中的filter2()均值函数用自定义函数averfilter()实现。%x是需要滤波图像,n是模板大小(即n×n)function d=averfilter(x,n)a(1:n,1:n)=1; %a即n×n模板,元素全...
  • 本次设计用到的是MATLAB软件然后进行仿真,对模糊图像建立退化模型,运用几种方法进行不同程度的复原,主要用了5种有关图像复原的方法,包括了维纳滤波算法、约束最小二乘滤波算法、Lucy-Richardson算法、循环边界...
  • 文章目录1 中值滤波1.1 原理1.2 中值滤波图像的影响1.3 函数编写1.4 主文件1.5 效果展示2 高效的中值滤波算法2.1 原理2.2 函数编写3 带权重的中值滤波3.1 原理3.2 函数编写3.3 主文件3.4 效果展示 1 中值滤波 1.1 ...
  • 使用二阶巴斯沃特带阻滤波器对周期噪声图像滤波: 噪声图像如下: 首先观察其频谱,了解周期噪声分布: 噪声分布在频域图像的竖直方向,在水平方向上没有。画频域图像中心竖直方向的频谱,得到噪声起始两点的位置,...
  • MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 610
精华内容 244
关键字:

matlab图像滤波函数

matlab 订阅