精华内容
下载资源
问答
  • %%%%%%------------------图像复原之空间滤波--------------------------------- clc; clear; %读入图像,并转换为double型 I=imread('D:\Gray Files\5-7.tif');...title('最大值滤波器');  
    %%%%%%------------------图像复原之空间滤波---------------------------------
    clc;
    clear;
    %读入图像,并转换为double型
    I=imread('D:\Gray Files\5-7.tif');
    I_D=im2double(I);
    [MM,NN]=size(I_D);
    
    %%%%%----------------------2、顺序统计滤波器-------------------------------
    %%======================= 2.2 最大值或最小值滤波器=========================
    %最大值滤波适合处理带有“胡椒噪声”的图像
    %最小值滤波器适合处理带有“盐”噪声的图像
    %定义子窗口的尺寸
    m=3;
    n=3;
    %确定要扩展的行列数
    len_m=floor(m/2);
    len_n=floor(n/2);
    %将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算
    I_D_pad=padarray(I_D,[len_m,len_n],'symmetric');
    %获得扩展后的图像尺寸
    [M,N]=size(I_D_pad);
    J_Max=zeros(MM,NN);
    %J_Min=zeros(MM,NN);
    %逐点计算子窗口的最大/最小值
    for i=1+len_m:M-len_m
        for j=1+len_n:N-len_n
            %从扩展图像中取出子图像
            Block=I_D_pad(i-len_m:i+len_m,j-len_n:j+len_n);
            %最大值滤波        
            J_Max(i-len_m,j-len_n)=max(max(Block));
            %最小值滤波        
    %         J_Min(i-len_m,j-len_n)=min(min(Block));        
        end
    end
    imshow(J_Max);
    title('最大值滤波器');

     

    展开全文
  • 最大值滤波器

    2018-10-08 15:05:25
    最大值滤波器可以实现滤除噪声,检测弱小目标,检测精度高,程序易懂,适合初学者
  • 常用滤波器Matlab程序设计

    千次阅读 多人点赞 2019-10-31 23:22:00
    常用滤波器Matlab程序设计 (低通滤波器、高通滤波器、带通滤波器、带阻滤波器) 以下四个滤波器都是切比雪夫I型数字滤波器 1.低通滤波器 ​ 低通滤波(Low-pass filter) 是一种过滤方式,规则为低频信号能正常通过,...

    常用滤波器Matlab程序设计

    (低通滤波器、高通滤波器、带通滤波器、带阻滤波器)

    以下四个滤波器都是切比雪夫I型数字滤波器

    1.低通滤波器

    ​ 低通滤波(Low-pass filter) 是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。它有的时候也被叫做高频去除过滤(high-cut filter)或者最高去除过滤(treble-cut filter)。低通过滤是高通过滤的对立。

    低通滤波

    ​ 低通滤波可以简单的认为:设定一个频率点,当信号频率高于这个频率时不能通过,在数字信号中,这个频率点也就是截止频率,当频域高于这个截止频率时,则全部赋值为0。因为在这一处理过程中,让低频信号全部通过,所以称为低通滤波。

    ​ 低通过滤的概念存在于各种不同的领域,诸如电子电路,数据平滑,声学阻挡,图像模糊等领域经常会用到。

    ​ 在数字图像处理领域,从频域看,低通滤波可以对图像进行平滑去噪处理。

    低通滤波器

    对于不同滤波器而言,每个频率的信号的减弱程度不同。当使用在音频应用时,它有时被称为高频剪切滤波器,或高音消除滤波器。

    低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器、平滑数据的数字算法、音障(acoustic barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;低通滤波器有很多种。其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。

    接下来用Matlab程序设计低通滤波器生成m文件如下:

    function y=lowp(x,f1,f3,rp,rs,Fs)
    %低通滤波
    %使用注意事项:通带或阻带的截止频率的选取范围是不能超过采样率的一半
    %即,f1,f3的值都要小于 Fs/2
    %x:需要带通滤波的序列
    % f 1:通带截止频率
    % f 3:阻带截止频率
    %rp:边带区衰减DB数设置
    %rs:截止区衰减DB数设置
    %Fs:序列x的采样频率
    wp=2*pi*f1/Fs;
    ws=2*pi*f3/Fs;
    % 设计切比雪夫滤波器;
    [n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs);
    [bz1,az1]=cheby1(n,rp,wp/pi);
    %查看设计滤波器的曲线
    [h,w]=freqz(bz1,az1,256,Fs);
    h=20*log10(abs(h));
    figure;plot(w,h);title('当前低通滤波器的通带曲线');grid on;
    y=filter(bz1,az1,x);%对序列x滤波后得到的序列y
    end
    

    为了方便起见,专门封装专门画频谱图的函数,函数名plot_fft。后边所有绘制有关函数频谱图将会直接调用,为避免函数调用出现问题,此函数生产m文件保存到程序运行当前文件夹下。以下是plot_fft函数设计实现。

    %画信号的幅频谱和功率谱
    function plot_fft(y,fs,style,varargin)
    %当style=1,画幅值谱;当style=2,画功率谱;当style=其他的,那么花幅值谱和功率谱
    %当style=1时,还可以多输入2个可选参数
    %可选输入参数是用来控制需要查看的频率段的
    %第一个是需要查看的频率段起点
    %第二个是需要查看的频率段的终点
    %其他style不具备可选输入参数,如果输入发生位置错误
    nfft=2^nextpow2(length(y));%找出大于y的个数的最大的2的指数值(自动进算最佳FFT步长nfft)
    %nfft=1024;%人为设置FFT的步长nfft
      y=y-mean(y);%去除直流分量
    y_ft=fft(y,nfft);%对y信号进行DFT,得到频率的幅值分布
    y_p=y_ft.*conj(y_ft)/nfft;%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。
    y_f=fs*(0:nfft/2-1)/nfft;%T变换后对应的频率的序列
    % y_p=y_ft.*conj(y_ft)/nfft;%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。
    if style==1
        if nargin==3
           %plot(y_f,abs(y_ft(1:nfft/2)));%论坛上画FFT的方法
           plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));%matlab的帮助里画FFT的方法
           ylabel('幅值');xlabel('频率');title('信号幅值谱');
        else
           f1=varargin{1};
           fn=varargin{2};
           ni=round(f1 * nfft/fs+1);
           na=round(fn * nfft/fs+1);
           plot(y_f(ni:na),abs(y_ft(ni:na)*2/nfft));
           ylabel('幅值');xlabel('频率');title('信号幅值谱');
        end
    elseif style==2
               plot(y_f,y_p(1:nfft/2));
               ylabel('功率谱密度');xlabel('频率');title('信号功率谱');
        else
           subplot(211);plot(y_f,2*abs(y_ft(1:nfft/2))/length(y));
           ylabel('幅值');xlabel('频率');title('信号幅值谱');
           subplot(212);plot(y_f,y_p(1:nfft/2));
           ylabel('功率谱密度');xlabel('频率');title('信号功率谱');
    end
    end
    
    低通滤波器案例设计:
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %低通滤波器案例设计
    clear all; clc; close all;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % rp=0.1;rs=20;%通带边衰减DB值和阻带边衰减DB值(根据实际情况设定参数此为测试默认值)
    % Fs=2000;%采样率
    fs=2000;%采样频率
    t=(1:fs)/fs;%采样时间
    ff1=100;%信号频率100,400
    ff2=400;
    x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t);%带测试的x序列
    figure;
    subplot(211);plot(t,x);%原序列图象。
    subplot(212);plot_fft(x,fs,1);%原图像对应频谱
    %低通测试
    % y=filter(bz1,az1,x);
    y=lowp(x,300,350,0.1,20,fs);%低通滤波器函数测试。
    figure;
    subplot(211);plot(t,y);%低通滤波器输出序列
    subplot(212);plot_fft(y,fs,1);%低通滤波器输出序列对应频谱
    %plot_fft()函数已在上面给出主需要调用即可。
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DrKPScht-1572535339774)(G:\研究生\项目小组任务\程序设计\第三周任务\lowp_result.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-46kcurke-1572535339778)(G:\研究生\项目小组任务\程序设计\第三周任务\band_low.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D8XG3Piu-1572535339778)(G:\研究生\项目小组任务\程序设计\第三周任务\lowp.bmp)]

    总结:

    ​ 通过简单测试,以上三幅图分别是滤波前后的时频图,滤波器的滤波特性曲线图。通过图可以看出低通滤波器成功留下了100Hz的低频成分而把不要的高频成分去除了。实现低通滤波器基本功能。

    2.高通滤波器

    ​ 高通滤波(high-pass filter) 是一种过滤方式,规则为高频信号能正常通过,而低于设定临界值的低频信号则被阻隔、减弱。但是阻隔、减弱的幅度则会依据不同的频率以及不同的滤波程序(目的)而改变。它有的时候也被叫做低频去除过滤(low-cut filter)。高通滤波是低通滤波的对立。

    高通滤波

    ​ 高通滤波是只对低于某一给定频率以下的频率成分有衰减作用,而允许这个截频以上的频率成分通过,并且没有相位移的滤波过程。主要用来消除低频噪声,也称低截止滤波器。

    ​ 高通滤波属于[频率域]滤波,它保留高频,抑制低频,是[图像锐化]的一种方式。

    高通滤波器

    ​ 高通滤波器是一种让某一频率以上的信号分量通过,而对该频率以下的信号分量大大抑制的电容、电感与电阻等器件的组合装置。其特性在时域及频域中可分别用冲激响应及频率响应描述。后者是用以频率为自变量的函数表示,一般情况下它是一个以复变量jω为自变量的的复变函数,以H(jω)表示。它的模H(ω)和幅角φ(ω)为角频率ω的函数,分别称为系统的“幅频响应”和“相频响应”,它分别代表激励源中不同频率的信号成分通过该系统时所遇到的幅度变化和相位变化。可以证明,系统的“频率响应”就是该系统“冲激响应”的傅里叶变换。当线性无源系统可以用一个N阶线性微分方程表示时,频率响应H(jω)为一个有理分式,它的分子和分母分别与微分方程的右边和左边相对应。

    接下来用Matlab程序设计高通滤波器生成m文件如下:

    function y=highp(x,f1,f3,rp,rs,Fs)
    %高通滤波
    %使用注意事项:通带或阻带的截止频率的选取范围是不能超过采样率的一半
    %即,f1,f3的值都要小于 Fs/2
    %x:需要带通滤波的序列
    % f 1:通带截止频率
    % f 2:阻带截止频率
    %rp:边带区衰减DB数设置
    %rs:截止区衰减DB数设置
    %Fs:序列x的采样频率
    wp=2*pi*f1/Fs;
    ws=2*pi*f3/Fs;
    % 设计切比雪夫滤波器;
    [n,wn]=cheb1ord(wp/pi,ws/pi,rp,rs);
    [bz1,az1]=cheby1(n,rp,wp/pi,'high');
    %查看设计滤波器的曲线
    [h,w]=freqz(bz1,az1,256,Fs);
    h=20*log10(abs(h));
    figure;plot(w,h);title('当前高通滤波器的通带曲线');grid on;
    y=filter(bz1,az1,x);
    end
    
    高通滤波器案例设计:
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %高通滤波器案例设计测试程序
    clear all; clc; close all;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    fs=2000;%采样频率
    t=(1:fs)/fs;%采样时间
    ff1=100;%信号频率100,400
    ff2=400;
    x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t);%带测试的x序列
    figure;
    subplot(211);plot(t,x);%原序列图谱。
    subplot(212);plot_fft(x,fs,1);%原图像对应频谱
    %高通测试
    z=highp(x,350,300,0.1,20,fs);%高通滤波器函数测试。
    figure;
    subplot(211);plot(t,z);%高通滤波器输出序列图谱
    subplot(212);plot_fft(z,fs,1);%高通滤波器输出序列对应频谱
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ARL0tTr0-1572535339782)(G:\研究生\项目小组任务\程序设计\第三周任务\highp.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gkr6YIt8-1572535339786)(G:\研究生\项目小组任务\程序设计\第三周任务\highp_band.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcCtzaxF-1572535339790)(G:\研究生\项目小组任务\程序设计\第三周任务\highp_result.bmp)]

    总结:

    ​ 通过简单测试,以上三幅图分别是滤波前后的时频图,滤波器的滤波特性曲线图。通过图可以看出高通滤波器成功留下了400Hz的高频成分而把不要的低频成分去除了。实现高通滤波器基本功能。

    3.带通滤波器

    ​ 带通滤波器(band-pass filter)是一个允许特定频段的波通过同时屏蔽其他频段的设备。比如RLC振荡回路就是一个模拟带通滤波器。

    定义:

    带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。一个模拟带通滤波器的例子是电阻-电感-电容电路(RLC circuit)。这些滤波器也可以用低通滤波器高通滤波器组合来产生。

    工作原理:

    ​ 一个理想的带通滤波器应该有一个完全平坦的通带,在通带内没有放大或者衰减,并且在通带之外所有频率都被完全衰减掉,另外,通带外的转换在极小的频率范围完成。

    ​ 实际上,并不存在理想的带通滤波器。滤波器并不能够将期望频率范围外的所有频率完全衰减掉,尤其是在所要的通带外还有一个被衰减但是没有被隔离的范围。这通常称为滤波器的滚降现象,并且使用每十倍频的衰减幅度的dB数来表示。通常,滤波器的设计尽量保证滚降范围越窄越好,这样滤波器的性能就与设计更加接近。然而,随着滚降范围越来越小,通带就变得不再平坦,开始出现“波纹”。这种现象在通带的边缘处尤其明显,这种效应称为吉布斯现象

    ​ 在频带较低的剪切频率f1和较高的剪切频率f2之间是共振频率,这里滤波器的增益最大,滤波器的带宽就是f2和f1之间的差值。

    接下来用Matlab程序设计带通滤波器生成m文件如下:

    function y=bandp(x,f1,f3,fsl,fsh,rp,rs,Fs)
    %带通滤波
    %使用注意事项:通带或阻带的截止频率与采样率的选取范围是不能超过采样率的一半
    %即,f1,f3,fs1,fsh,的值小于 Fs/2
    %x:需要带通滤波的序列
    % f 1:通带左边界
    % f 3:通带右边界
    % fs1:衰减截止左边界
    % fsh:衰变截止右边界
    %rp:边带区衰减DB数设置
    %rs:截止区衰减DB数设置
    %Fs:序列x的采样频率
    wp1=2*pi*f1/Fs;
    wp3=2*pi*f3/Fs;
    wsl=2*pi*fsl/Fs;
    wsh=2*pi*fsh/Fs;
    wp=[wp1 wp3];
    ws=[wsl wsh];
    % 设计切比雪夫滤波器;
    [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs);
    [bz1,az1]=cheby1(n,rp,wp/pi);
    %查看设计滤波器的曲线
    [h,w]=freqz(bz1,az1,256,Fs);
    h=20*log10(abs(h));
    figure;plot(w,h);title('所设计滤波器的通带曲线');grid on;
    y=filter(bz1,az1,x);
    end
    
    带通滤波器案例设计:
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %带通滤波器案例设计测试程序
    clear all; clc; close all;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % f1=300;f3=500;%通带截止频率上下限
    % fsl=200;fsh=600;%阻带截止频率上下限
    % rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值
    % Fs=2000;%采样率
    fs=2000;%采样频率
    t=(1:fs)/fs;%采样时间
    ff1=100;%信号频率100,400,700
    ff2=400;
    ff3=700;
    x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t)+sin(2*pi*ff3*t);%带测试的x序列
    figure;
    subplot(211);plot(t,x);%原序列图谱。
    subplot(212);plot_fft(x,fs,1);%原图像对应频谱
    % y=filter(bz1,az1,x);
    %带通测试
    y=bandp(x,300,500,200,600,0.1,30,fs);%带通滤波器函数测试。
    figure;
    subplot(211);plot(t,y);%带通滤波器输出序列图谱
    subplot(212);plot_fft(y,fs,1);%带通滤波器输出序列对应频谱
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xnyopwYK-1572535339794)(G:\研究生\项目小组任务\程序设计\第三周任务\bandp.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZQvJWlPr-1572535339798)(G:\研究生\项目小组任务\程序设计\第三周任务\bandp_band.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DSrXHmCQ-1572535339798)(G:\研究生\项目小组任务\程序设计\第三周任务\bandp_result.bmp)]

    总结:

    ​ 通过简单测试,以上三幅图分别是滤波前后的时频图,滤波器的滤波特性曲线图。通过图可以看出带通滤波器成功留下了400Hz的带通频带内成分而把不要的频带成分去除了。实现带通滤波器基本功能。

    4.带阻滤波器

    ​ 带阻滤波器(bandstop filters,简称BSF)是指能通过大多数频率分量、但将某些范围的频率分量衰减到极低水平的滤波器,与带通滤波器的概念相对。其中点阻滤波器(notch filter)是一种特殊的带阻滤波器,它的阻带范围极小,有着很高的Q值(Q Factor)。

    定义:

    ​ 在电路中将输入电压同时作用于低通滤波器和高通滤波器,再将两个电路的输出电压求和,就可以得到带阻滤波器。带阻滤波器一般分为腔体带阻滤波器和LC带阻滤波器。

    接下来用Matlab程序设计带阻滤波器生成m文件如下:

    function y=bands(x,f1,f3,fsl,fsh,rp,rs,Fs)
    %带阻滤波
    %使用注意事项:通带或阻带的截止频率与采样率的选取范围是不能超过采样率的一半
    %即,f1,f3,fs1,fsh,的值小于 Fs/2
    %x:需要带通滤波的序列
    % f 1:通带左边界
    % f 3:通带右边界
    % fs1:衰减截止左边界
    % fsh:衰变截止右边界
    %rp:边带区衰减DB数设置
    %rs:截止区衰减DB数设置
    %FS:序列x的采样频率
    wp1=2*pi*f1/Fs;
    wp3=2*pi*f3/Fs;
    wsl=2*pi*fsl/Fs;
    wsh=2*pi*fsh/Fs;
    wp=[wp1 wp3];
    ws=[wsl wsh];
    % 设计切比雪夫滤波器;
    [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs);
    [bz1,az1]=cheby1(n,rp,wp/pi,'stop');
    %查看设计滤波器的曲线
    [h,w]=freqz(bz1,az1,256,Fs);
    h=20*log10(abs(h));
    figure;plot(w,h);title('所设计滤波器的通带曲线');grid on;
    y=filter(bz1,az1,x);
    end
    
    带阻滤波器案例设计:
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %带阻滤波器案例设计测试程序
    clear all; clc; close all;
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % f1=300;f3=500;%通带截止频率上下限
    % fsl=200;fsh=600;%阻带截止频率上下限
    % rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值
    % Fs=2000;%采样率
    fs=1000;%采样频率
    t=(1:fs)/fs;%采样时间
    ff1=100;%信号频率100,400,700
    ff2=150;
    ff3=200;
    x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t)+sin(2*pi*ff3*t);%带测试的x序列
    figure;
    subplot(211);plot(t,x);%原序列图谱。
    subplot(212);plot_fft(x,fs,1);%原图像对应频谱
    %带通测试
    y=bands(x,110,190,140,160,0.1,30,fs);%带通滤波器函数测试。
    figure;
    subplot(211);plot(t,y);%带通滤波器输出序列图谱
    subplot(212);plot_fft(y,fs,1);%带通滤波器输出序列对应频谱
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LBhilewO-1572535339802)(G:\研究生\项目小组任务\程序设计\第三周任务\bands.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FiaUXpQ-1572535339806)(G:\研究生\项目小组任务\程序设计\第三周任务\bands_band.bmp)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LTmY1TFf-1572535339810)(G:\研究生\项目小组任务\程序设计\第三周任务\bands_result.bmp)]

    总结:

    ​ 通过简单测试,以上三幅图分别是滤波前后的时频图,滤波器的滤波特性曲线图。通过图可以看出带通滤波器成功去除了150Hz的带通频带内成分而把需要的频带成分留下来。实现带阻滤波器基本功能。

    展开全文
  • matlab最大值最小值及中值滤波

    千次阅读 2019-12-05 15:57:04
    MATLAB图像处理工具箱中提供了二维统计顺序滤波函数ordfilt2函数。二维统计顺序滤波是中值滤波的推广,对于给定的n个数值{al ,a2,…,an},将它们按大小顺序排列,将处于第k个位置的元素作为图像滤波输出,即序号...

    ordfilt2函数
    在MATLAB图像处理工具箱中提供了二维统计顺序滤波函数ordfilt2函数。二维统计顺序滤波是中值滤波的推广,对于给定的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图像最大值和最小值滤波

    千次阅读 2020-10-13 20:05:48
    clear; clc;...% 最大值滤波 for i = 2:M-1 for j=2:N-1 t = img(i-1:i+1,j-1:j+1); new_img_max(i,j) =max(t(:)); end end % 最小值滤波 for i = 2:M-1 for j=2:N-1 t = img(i-1:i+1,j-1:j+1);
    clear;
    clc;
    img = imread('rice.png');
    [M,N] = size(img);
    % 最大值滤波
    for i = 2:M-1
        for j=2:N-1
            t = img(i-1:i+1,j-1:j+1);
            new_img_max(i,j)  =max(t(:));
        end
    end
    % 最小值滤波
    for i = 2:M-1
        for j=2:N-1
            t = img(i-1:i+1,j-1:j+1);
            new_img_min(i,j)  =min(t(:));
        end
    end
    subplot(1,3,1);
    imshow(img);
    title('原图像');
    subplot(1,3,2)
    imshow(new_img_max)
    title('最大值滤波')
    subplot(1,3,3)
    imshow(new_img_min)
    title('最小值滤波')

    和之前的操作类似,还是将原来图像的一小块拿出啦操作(这里是3*3),下面展示一下处理的结果
    在这里插入图片描述看到结果,我感觉这难道是:图像的膨胀和腐蚀?毕竟确实看到最大值滤波得到的米粒变大了一圈,而最小值滤波得到的米粒变瘦了,回头再研究一手

    展开全文
  • matlab 滤波器

    千次阅读 多人点赞 2016-02-19 23:15:47
    快毕业了,把自己写的现成的matlab函数分享给有需要的人,由于个人水平有限,写的不好请见谅,愿意拍砖的尽管拍好了。目前还不考虑读博,所以写的程序仍了可惜,所以就拿出来分享。好了不废话了,开始正题。   ...
  • [Matlab]LMS滤波器设计

    千次阅读 多人点赞 2019-11-30 16:39:31
    [Matlab]自适应(LMS)滤波器设计 ​ 自适应滤波是近年以来发展起来的一种最佳滤波方法。它是在维纳滤波,Kalman滤波等线性滤波基础上发展起来的一种最佳滤波方法。由于它具有更强的适应性和更优的滤波性能。从而在...
  • MATLAB实现巴特沃斯数字滤波器

    万次阅读 多人点赞 2019-08-03 10:07:35
    MATLAB实现巴特沃斯数字滤波器 MATLAB实现巴特沃斯数字滤波器 前因:因为要准备保研面试,今年暑假就重新把烂尾的项目捡起来了。 为了提取采集到的脑电信号中有用的部分,想用数字带通滤波器实现,浏览了很多帖子...
  • [Matlab]FIR滤波器设计:(基本窗函数FIR滤波器设计)

    万次阅读 多人点赞 2019-11-16 00:54:00
    [Matlab]FIR滤波器设计:(基本窗函数FIR滤波器设计) ​ IIR滤波器主要设计方法先设计一个模拟低通滤波器,然后把它转化为形式上的数字滤波器。但对于FIR滤波器来说,设计方法的关键要求之一就是保证线性相位条件。而...
  • 十种滤波器matlab实现

    千次阅读 2019-12-01 22:43:23
    文章概要1) 产生噪声2) 均值滤波器3) 统计排序滤波器4) 自适应滤波器 1) 产生噪声 构造函数addSaltNoise.m,接受参数snr为图像信噪比,为实验用图test.tif增加椒盐噪声 % addSaltNoise.m function [sImg] = ...
  • Matlab 最大值滤波 中值滤波 最小值滤波 函数 ordfilt2 【转载】原文出处:http://blog.csdn.net/fengbingchun/article/details/5951629 ordfilt2函数 在MATLAB图像处理工具箱中提供了二维统计顺序滤波函数...
  • 升余弦滤波器MATLAB分析

    万次阅读 多人点赞 2018-03-18 11:17:52
    MATLAB实现在maltab中,主要用rcosdesign函数来实现FIR脉冲成型滤波器,其他相关的函数还有comm.RaisedCosineTransmitFilter,comm.RaisedCosineTransmitFilter。语法:b = rcosdesign(beta,span,sps)b = rcosdesign...
  • Matlab图像处理--低通滤波器Matlab实现及透视图

    万次阅读 多人点赞 2019-08-15 14:06:57
    低通滤波器 本文主要介绍三种常见低通滤波器的实现方法及其透视图 理想低通滤波器(ILPF) 理想低通滤波器有下面的函数确定: H(u,v)={1D(u,v)≤D00公式3条件3 H(u,v)=\begin{cases} 1 & D(u,v) \leq D_0 \\...
  • 匹配滤波器matlab仿真

    千次阅读 多人点赞 2020-06-03 15:28:15
    匹配滤波器的性质3.1匹配滤波器最大峰值信噪比3.2匹配滤波器的幅频特性相频特性3.3匹配滤波器的物理可实现性3.4输出信号和噪声3.5匹配滤波器的时延适应性3.6匹配滤波器的频移不适应性3.7输出信号频谱与输入信号...
  • C++实现最大值滤波器

    千次阅读 2014-08-10 23:59:36
     实不相瞒,鄙人常用openCV,但是我发现CV里面只提供了中值滤波,没有提供最大值滤波(matlab里面倒是有个ordfilt2函数提供了该功能),因为要用,就写了这么个函数。  以前我写过一些代码放到资源里去给人下载...
  • LMS算法实现自适应滤波器matlab版)

    万次阅读 多人点赞 2018-08-19 09:24:07
    LMS算法实现自适应滤波器matlab版) 为准备省电子竞赛,特地做了2017年全国电赛的自适应滤波器题目,这个LMS程序为matlab版本只是为了理解LMS算法使用,后续我将上传基于STM32完成的C语言版本的LMS算法,新手刚...
  • 用卷积滤波器matlab代码编程项目 Ruby 预处理脚本 为模式识别项目而开发。 它们的目的是从文件中读取数据,并为进行机器培训做好准备。 其中最著名的是csv_reader.rb。 csv_reader.rb集成了一组预处理技术,这些...
  • 四川乐山,614000)摘要:现如今已经有相当成熟的技术去模拟滤波器,人们为了更加深入的理解巴特沃斯滤波器,于是巴特沃斯模拟滤波器便基于matlab来编程。同时几种模拟滤波器将被我们用于比较。关键词:MATLAB;...
  • 几种常见空间滤波器MATLAB实现

    万次阅读 多人点赞 2018-05-24 20:47:22
    一、目的实现算术均值滤波器、几何均值滤波器、中值滤波器、修正的阿尔法均值滤波器、自适应中值滤波器,并比较不同滤波器的降噪结果。二、代码代码的思路如下:(1)先对原始的电路图先后进行加高斯噪声和椒盐噪声...
  • 如何用Matlab实现自适应滤波器!!!

    千次阅读 多人点赞 2020-12-11 09:53:11
    自适应滤波器Matlab实现 直接上代码吧,原理一大堆,自行了解即可!这是LMS即自适应滤波器的Matlab代码。 function [yn,W,en]=LMS(xt,dn,M,mu) itr = length(xt); en = zeros(itr,1); % 误差序列,en(k)表示第k次...
  • 另外,你也可以选择用MATLAB完成,或用C++与Opencv完成。 # 对'rice.tif'添加椒盐噪声,再做中值滤波。使用Python+skimage实现 %matplotlib inline from skimage import io, util, filters from skimage....
  • Yamamoto, 噪声整形 Delta-Sigma 调制器的频域最小值-最大值优化, IEEE 信号处理汇刊,卷。 60,第 6 期,第 2828-2839 页,2012 年。 草稿可以通过以下方式下载: http://www-ics.acs.i.kyoto-u.ac.jp/~nagahara...
  • 用卷积滤波器matlab代码街景门牌号码 该项目的目的是预测32X32图像形式的街景房号(SVNH)数据集捕获的房门位数。 数据集链接 从链接下载和。 数据文件夹已经具有测试数据。 但是,火车数据太大,您应该在运行脚本...
  • 用卷积滤波器matlab代码反馈分析和取消工具包(FACT) 马克·库弗·格林(Marc Ciufo Green) 创建虚拟声音反馈回路,就像在单个扬声器和单个麦克风之间。 允许测试各种反馈how叫检测方法和各种反馈how叫消除方法的...
  • %%%%%----------------------1、均值滤波器----------------------------------- %%========================1.1 算术均值滤波器=============================== %定义子窗口的尺寸 m=7; n=7; %确定要扩展的行列数 ...
  • 算术均值 close all clear allf=imread('D:/testData/filtering.tif');[w,h]=size(f); image= f(:,:); fsize1=3; fsize2=5; fsize3=9;fssize1=(fsize1-1)/2; fssize2=(fsize2-1)/2; fssize3=(fsize3-1)/2;...subp
  • 维纳滤波器 1. 背景及术语介绍 随机信号或者随机过程:它是是普遍存在的。一方面,任何确定性信号经过测量后往往会引入随机性误差;另一方面,任何信号本身都存在随机干扰。 噪声:按照功率谱密度划分可以划分为白...
  • matlab 滤波器函数

    万次阅读 2017-05-03 14:18:46
    以下两个滤波器都是切比雪夫I型数字滤波器,不是巴特沃尔滤波器,请使用者注意! 1.低通滤波器 使用说明:将下列代码幅值然后以m文件保存,文件名要与函数名相同,这里函数名:lowp。 function y=lowp(x,f1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,873
精华内容 1,949
关键字:

最大值滤波器matlab

matlab 订阅