精华内容
下载资源
问答
  • MATLAB均值滤波

    2015-03-26 09:37:53
    matlab均值滤波函数,和自带的matlab均值滤波没什么差别
  • matlab 均值滤波

    千次阅读 2018-11-21 15:44:02
    均值滤波也叫做线性滤波,规定一个固定可调节大小的模板,如3*3,对目标像素做均值滤波就是将他周围8个点的像素值求和取平均,替代原来的像素值; 对目标像素3进行均值滤波 求3*3模板中的像素和(除了目标)=2+4...

    在matlab中使用滤波器对图像进行滤波非常方便,只需要调用库函数,只是满足工程需要就够了;但是想学习图像处理的滑,是远远不够的,还要对算法的基本原理弄清楚

    1-均值滤波

    均值滤波也叫做线性滤波,规定一个固定可调节大小的模板,如3*3,对目标像素做均值滤波就是将他周围8个点的像素值求和取平均,替代原来的像素值;

    对目标像素3进行均值滤波

    求3*3模板中的像素和(除了目标)=2+4+8+1+9+5+7+6=42

    42/8=5,用5去替代原来的3

    结论:由实验可得均值滤波会破坏图像细节,造成图像模糊

    附上实验代码

    clear all;
    clc;
    A=imread('F:\matlab_tt\fliter\tt.jpg');
    B=size(A);
    C=numel(B);
    subplot(231)
    imshow(A)
    title('原始图像')
    if (C==3)
        A=rgb2gray(A);
    else
        A=A;
    end
    A1=imnoise(A,'salt & pepper',0.02);
    subplot(232)
    imshow(A1)
    title('添加椒盐噪声的图片')
    k1=filter2(fspecial('average',3),A1)/255;
    k2=filter2(fspecial('average',5),A1)/255;
    k3=filter2(fspecial('average',7),A1)/255;
    k4=filter2(fspecial('average',9),A1)/255;
    subplot(233),imshow(k1);
    subplot(234),imshow(k2);
    subplot(235),imshow(k3);
    subplot(236),imshow(k4);

     以下是实验图:

    为什么要除以255:

    为了保证精度,经过了运算的图像矩阵I其数据类型会从unit8型变成double型.如果直接运行imshow(I),我们会发现显示的是一个白色的图像.这是因为imshow()显示图像时对double型是认为在0~1范围内,即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围.而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了.
    有两个解决方法:
    1> imshow(I/256); -----------将图像矩阵转化到0-1之间 
    2> imshow(I,[]); -----------自动调整数据的范围以便于显示.
    从实验结果看两种方法都解决了问题,但是从显示的图像看,第二种方法显示的图像明暗黑白对比的强烈些!

    展开全文
  • Matlab均值滤波

    2013-04-23 19:53:51
    均值滤波是图像滤波处理中常用的一种算法,本程序给出基于Matlab的中值滤波算法,可直接在Matlab中运行
  • matlab均值滤波函数

    2018-06-09 22:21:04
    自己编写的matlab均值滤波函数,其中输入为信号与窗函数大小
  • Matlab 均值滤波与中值滤波

    万次阅读 多人点赞 2018-08-25 23:38:30
    %%以下是本人在学习中的个人理解,如...均值滤波就是这个滤波器每个值都是一样大小,每个值是1/k(k为滤波器矩阵的大小),用于去噪 滤波器可通过 w=fspecial(‘type’,parameters)得到,其中type指定滤波器类型,p...

    %%以下是本人在学习中的个人理解,如有错误请指出

    所谓的滤波就是一个系数矩阵(也称为模板,滤波器,滤波模板,核,掩模或者窗口),然后用这个模板对应图像矩阵(填充0后的图像矩阵)进行乘积和运算。

    均值滤波就是这个滤波器每个值都是一样大小,每个值是1/k(k为滤波器矩阵的大小),用于去噪
    滤波器可通过 w=fspecial(‘type’,parameters)得到,其中type指定滤波器类型,parameters进一步定一规定的滤波器
    用fspecial(‘average’)可以创建一个均值滤波器,默认33,每个值都是1/(33)=0.1111

    >> h=fspecial('average')
    
    h =
    
        0.1111    0.1111    0.1111
        0.1111    0.1111    0.1111
        0.1111    0.1111    0.1111
    

    然后创建个简单矩阵

    >> x=[1,2,3;4,5,6;2,2,2]
    
    x =
    
         1     2     3
         4     5     6
         2     2     2
    

    使用filter2(h,x)进行滤波,h为滤波器,x为要滤波的数据,将h放在x上移动进行模板滤波。

    y=filter2(h,x)
    
    y =
    
        1.3333    2.3333    1.7778
        1.7778    3.0000    2.2222
        1.4444    2.3333    1.6667
    

    下面分析过程
    填充0后的图像矩阵x:

    x =
    
         0     0     0     0     0     0     0
         0     0     0     0     0     0     0
         0     0     1     2     3     0     0
         0     0     4     5     6     0     0
         0     0     2     2     2     0     0
         0     0     0     0     0     0     0
         0     0     0     0     0     0     0
    

    然后进行乘积和运算
    x中
    0 0 0
    0 1 2
    0 4 5
    分别和h对应的各元素做乘积然后求和:即(1+2+4+5)*0.1111=1.3333
    所得结果即为滤波后图像y的y(1,1)(对应着x(1,1)),以此类推。

    (1+2+4+5)*0.1111=(1+2+4+5+6)/9=1.3333
    其原理其实就等于用该点的像素值得领域矩阵的均值来代替这点的像素值
    即对以该点为中心点的领域矩阵求和 / 领域矩阵大小
    下面是均值滤波实现代码:

    function [c]=junzhilvbo(j,k)
    [m,n]=size(j);
    b=zeros(m+2*k,n+2*k);%创建0矩阵
    b(k+1:m+k,k+1:n+k)=double(j(:,:));
    %    0 0 0(k行0,其他方向也是)
    %b=  0 j 0
    %    0 0 0
    c=zeros(m,n);
    for i=k+1:m+k
        for j=k+1:n+k
            b(i,j)=sum(sum(b(i-k:i+k,j-k:j+k)))/((2*k+1).^2);%b(i,j)这个点为中心点的(2*k+1)^2的大小的矩阵的和*(1/(2*k+1))
        end                                                   %这里就是均值均值滤波
    end
    c(:,:)=b(k+1:m+k,k+1:n+k);
    %figure,imshow(c,[]);
    

    中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,对去椒盐噪声十分有效。
    工具箱提供的函数是
    g=medfilt2(f,[m,n],padopt)
    [m,n]定义一个大小为mn的领域(在该领域上计算中值),padopt指定三个可能的边界填充选项之一(zeros默认值,symmetric,indexed)
    默认形式为
    g=medfilt2(f)
    使用一个3
    3的领域并用0填充边界来计算中值
    下面看例子

     f=imread('caise.jpg');
     f=rgb2gray(f);
     fn=imnoise(f,'salt & pepper',0.2);%用函数imnosie产生椒盐噪声,0.2代表图中白点黑点出现的概率为0.2
     figure,imshow(fn);
     gm=medfilt2(fn);%中值滤波
     figure,imshow(gm);
    

    带有椒盐噪声图
    中值滤波后的图

    %%%文章为作者手打,记录和分享自己的学习,如有错误请指出,转载请注明出处

    展开全文
  • matlab均值滤波程序

    2013-11-09 16:08:57
    matlab 均值滤波 自编程序 调试通过
  • Matlab均值滤波源程序-K_average.rar :) 自己找的,和大家分享
  • matlab均值滤波实现

    万次阅读 多人点赞 2018-10-14 22:04:11
    一、噪声添加 椒盐噪声: I_noise=double(imnoise(I,'salt ...二、均值滤波原理 主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声。 缺点:容易引起图像模糊,可以对其进行改...

    一、噪声添加
    椒盐噪声:

    I_noise=double(imnoise(I,'salt & pepper',0.02));%后面0.02为参数
    

    高斯噪声:

    I_noise=double(imnoise(I,'gaussian',0.02));
    

    二、均值滤波原理
    主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声。
    缺点:容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。

    原像素值:
    |1|2|3|
    |4|5|6|
    |7|8|9|

    均值后:(123456789去均值为5,放在中心位置,由此可见均值滤波会忽略掉四周的像素值,四周会变得模糊)
    | | | |
    | |5| |
    | | | |

    以下代码分别添加了 高斯噪声和椒盐噪声 然后进行均值滤波处理

    1. 对椒盐噪声的各种均值滤波处理
    %均值滤波
    %椒盐噪声部分
    figure(2);
    %显示原图
    subplot(2,3,1);
    imshow(I,[]);%[]自动产生适当的比例显示图像
    title('原图');
    %添加椒盐信号
    subplot(2,3,2);
    I_noise=double(imnoise(I,'salt & pepper',0.02));%salt & pepper注意中间的空格 无空格报错
    imshow(I_noise,[]);title('椒盐噪声');
    %均值滤波
    subplot(2,3,3);
    I_3=fspecial('average',[3,3]);%3*3均值滤波
    I_3=imfilter(I_noise,I_3);
    imshow(I_3,[]);title('3*3算数均值滤波');
    subplot(2,3,4);
    I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
    imshow(I_,[]);title('3*3几何均值滤波');
    
    subplot(2,3,5);
    Q=-1.5;
    I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
    imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');
    
    subplot(2,3,6);
    Q=1.5;
    I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
    imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波')
    

    在这里插入图片描述
    2. 对高斯噪声的各种均值滤波处理

    %%均值滤波
    %高斯噪声部分
    clc;clear;
    I=imread('1.jpg');
    I=im2double(I);
    I=rgb2gray(I);
    %MappedData = mapminmax(I ,0, 255)
    h=figure(1);
    %显示原图
    subplot(2,3,1);
    imshow(I,[]);%[]自动产生适当的比例显示图像
    title('原图');
    %添加高斯噪声
    subplot(2,3,2);
    I_noise=double(imnoise(I,'gaussian',0.02));%salt & pepper注意中间的空格 无空格报错
    imshow(I_noise,[]);title('高斯噪声');
    %均值滤波
    subplot(2,3,3);
    I_3=fspecial('average',[3,3]);%3*3均值滤波    建立预定义的滤波算子
    I_3=imfilter(I_noise,I_3);%(待处理矩阵,滤波器)
    imshow(I_3,[]);title('3*3均值滤波');
    subplot(2,3,4);
    I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
    imshow(I_,[]);title('3*3几何均值滤波');
    subplot(2,3,5);
    Q=-1.5;
    I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
    imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');
    subplot(2,3,6);
    Q=1.5;
    I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
    imshow(I_mean,[]);title('Q=1.5逆谐波滤波器滤波');
    

    在这里插入图片描述

    均值滤波方法二:https://wenku.baidu.com/view/bef73431366baf1ffc4ffe4733687e21af45ff14.html

    1. 函数说明
    1. 结果分析

      4.1、对高斯噪声图像进行滤波:
      总体来说两个逆谐波均值滤波器的去噪小效果不如均值滤波器滤波的效果。算数均值滤波会使得图像边界变得模糊,而几何均值滤波不会导致此问题。
      原因是:算术均值滤波器的将多个像素的灰度值线性平均,用均值来代替各个像素值,会导致边界图像模糊。采用线性的方法,平均整个窗口范围内的像素值,它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。

      4.2、对椒盐噪声图像进行滤波:
      算数均值滤波对椒盐噪声的去除效果较好;Q=-1.5的逆谐波滤波器留下了黑色的胡椒噪声,而Q=1.5的逆谐波滤波器留下了白色的盐噪声。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。
      原理:对于“胡椒”噪声应该采用Q值为正值的滤波器去噪,而用Q值为负值的滤波器对“盐”噪声进行去噪。

    展开全文
  • Matlab均值滤波去噪

    万次阅读 2018-05-10 22:40:10
    以灰度图像eight.tif为例,向原始图像中加入高斯噪声,再对噪声图像调用均值滤波函数avefilt进行去噪。 I=imread('eight.tif'); G=imnoise(I,'gaussian'); after=avefilt(G,3); subplot(1,3,1); imshow...

    以灰度图像eight.tif为例,向原始图像中加入高斯噪声,再对噪声图像调用均值滤波函数avefilt进行去噪。

    I=imread('eight.tif');
    G=imnoise(I,'gaussian');
    after=avefilt(G,3);  
    subplot(1,3,1);
    imshow(I);
    subplot(1,3,2);
    imshow(G);
    subplot(1,3,3);
    imshow(after);
    
    function d=avefilt(x,n)   
    a=ones(n);
    [M,N]=size(x);
    x1=double(x);
    x2=x1;
    for i=1:M-n+1
         for j=N-n+1
                c=x1(i:i+n-1,j:j+n-1).*a;
                s=sum(sum(c));
                x2(i+fix((n-1)/2),j+fix((n-1)/2))=s/(n*n);  
         end
    end
    d=uint8(x2);
    
    
    展开全文
  • 转自:http://blog.csdn.net/yanqingan/article/details/5738026MatLab自编的均值滤波、中值滤波、高斯滤波 图像处理函数。%自编的均值滤波函数。x是需要滤波的图像,n是模板大小(即n×n)function d=avefilt
  • matlab 使用中值滤波和均值滤波对使用高斯噪声和椒盐噪声加噪的图像滤波
  • matlab高斯滤波、中值滤波、均值滤波
  • matlab实现均值滤波去除高斯白噪声. 用matlab实现均值滤波去除高斯白噪声. 用matlab实现均值滤波去除高斯白噪声. 用matlab实现均值滤波去除高斯白噪声.
  • 非局部均值滤波代码,可在MATLAB上运行。已经调测。内含测试图片,方便快捷,下载即可用。非局部均值滤波代码。
  • MATLAB图像均值滤波

    2020-03-29 20:19:37
    对图像添加一个方差为0.05的椒盐噪声(自己可以添加高斯噪声),然后对图像进行3*3算数均值滤波,几何均值滤波,Q=1.5大小的逆谐波滤波处理,可以观察处理后的结果
  • matlab邻域均值滤波

    2012-06-20 13:41:59
    matlab邻域均值滤波,里面有邻域均值滤波的两种情况处理方式,不超过边界和超过边界用0填充处理。
  • 最近时间在研究滤波算法,目的是为了...什么是滑动均值滤波滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据...
  • 基于MATLAB图像处理的中值滤波、均值滤波以及高斯滤波的实现与对比 1.背景知识 中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值. 中值滤波是基于排序...
  • 文章目录1 理论简介1.1 线性空间滤波1.1.1 加权均值滤波器1.1.2 几何均值滤波1.1.3 谐波均值滤波1.1.4 逆谐波均值滤波2 非线性空间滤波2.1 中值滤波2.2 最大值滤波器2.3最小值滤波2 上代码2.1添加噪声 1 理论简介 ...
  • 数字图像处理作业图像加椒盐噪声加高斯噪声修正的阿尔法均值滤波自适应均值滤波自适应局部降噪滤波MATLAB源码及实验报告
  • 做有关图像均值滤波的程序,用matlab实现的,代码输入即可使用
  • 均值滤波matlab程序.txt

    2019-05-11 10:29:46
    均值滤波图像处理matlab程序。均值滤波算法适合处理高斯噪声,均值滤波图像处理matlab程序。均值滤波算法适合处理高斯噪声,
  • MATLAB常用的滤波函数比较:均值滤波和中值滤波 均值滤波中值滤波运行结果程序代码 均值滤波 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,...
  • MATLAB 图像 均值滤波 中值滤波

    千次阅读 2009-10-08 18:29:00
    看到网上很多介绍均值滤波和中值滤波的程序和代码,代码很全,拷贝下来,运行完全没有问题,可如果你换个图片,很意外,你的程序会报警,为什么呢,很多高手也许会不屑一顾,可我相信很多初学者也许会体验到我所感受...
  • 文件中包含test.m文件和两个函数以及一张测试图片。利用学习机会自己编写了均值滤波和中值滤波函数,并在test.m文件中运行,有详细代码注释,希望一起学习。
  • 基于MATLAB均值滤波算法实现

    千次阅读 2018-08-23 20:43:00
    在图像采集和生成中会不可避免的引入噪声,图像噪声是指存在于图像数据中的不必要的或多余的干扰信息,这对我们对图像信息的提取造成干扰,所以要进行去噪声处理,常见的去除噪声的方法有均值滤波、中值滤波、高斯...
  • matlab卷积神经网络去噪代码 ...对于均值滤波、中值滤波、和NLM,MATLAB都已经实现了,所以我们直接调用MATLAB自带的函数就可以。 BM3D和DnCNN的代码都是从别人那儿clone下来,做了一些小的修改。 五种算
  • 自编的matlab均值滤波函数,并且经过与matlab自己附带的函数比较过,效果要好于matlab自带的函数,请读者验证。

空空如也

空空如也

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

matlab均值滤波

matlab 订阅