精华内容
下载资源
问答
  • 高通滤波器matlab
    千次阅读
    2021-04-21 08:03:54

    %高斯低通滤波器

    RGB=imread('132.jpg';

    I0=rgb2gray(RGB;

    subplot(2,3,1,imshow(I0;title('原图';

    I1=imnoise(I0,'gaussian';%对原图像加噪声

    subplot(2,3,2,imshow(I1;title('加入噪声后'

    %将灰度图像的二维不连续Fourier变换的零频率成分移到频谱的中心

    s=fftshift(fft2(I1;

    subplot(2,3,3,imshow(log(1+abs(s,[];title('fftshift'; [M,N]=size(s;%分别返回s的行数到M中,列数到N中

    %GLPF滤波

    d0=50;%初始化d0

    n1=floor(M/2;%对M/2进行取整

    n2=floor(N/2;%对N/2进行取整

    for i=1:M

    for j=1:N

    d=sqrt((i-n1^2+(j-n2^2;%点(i,j到傅立叶变换中心的距离

    h(i,j=1*exp(-1/2*(d^2/d0^2;%GLPF滤波函数

    s(i,j=h(i,j*s(i,j;%GLPF滤波后的频域表示

    更多相关内容
  • %高斯低通滤波器 RGB = imread'132.jpg; I0 = rgb2gray(RGB; subplot(2,3,1,imshow(I0;title'原图; I1 = imnoise(I0'gaussian; %对原图像加噪声 subplot(2,3,2,imshow(I1;title'加入噪声后) %将灰度图像的二维不连续...
  • 高通滤波器matlab实现,实现高斯 理想 巴特的高通滤波器实现
  • 巴特沃斯数字高通滤波器设计的matlab实现.pdf
  • IIR高通滤波器(内含完整的MATLAB代码)
  • matlab开发-用于图像处理的高斯带通滤波器。此函数在频域中执行高斯带通滤波。Matlab development - Gaussian band-pass filter for image processing. This function performs Gaussian band-pass filtering in the...
  • %高斯低通滤波器RGB=imread('132.jpg');I0=rgb2gray(RGB);subplot(2,3,1),imshow(I0);title('原图');I1=imnoise(I0,'gaussian');%对原图像加噪声subplot(2,3,2),imshow(I1);title('加入噪声后')%将灰度图像的二维不...

    %高斯低通滤波器

    RGB

    =

    imread('132.jpg');

    I0

    =

    rgb2gray(RGB);

    subplot(2,3,1),imshow(I0);title('原图');

    I1

    =

    imnoise(I0,'gaussian');

    %对原图像加噪声

    subplot(2,3,2),imshow(I1);title('加入噪声后')

    %将灰度图像的二维不连续

    Fourier

    变换的零频率成分移到频谱的中

    s=fftshift(fft2(I1));

    subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift');

    [M,N]=size(s);

    %分别返回

    s

    的行数到

    M

    中,

    列数到

    N

    %GLPF

    滤波

    d0=50;

    %初始化

    d0

    n1=floor(M/2);

    %对

    M/2

    进行取整

    n2=floor(N/2);

    %对

    N/2

    进行取整

    for

    i=1:M

    for

    j=1:N

    d=sqrt((i-n1)^2+(j-n2)^2);

    %点

    (i,j)

    到傅立叶

    变换中心的距离

    h(i,j)=1*exp(-1/2*(d^2/d0^2));

    %GLPF

    滤波函

    展开全文
  • matlab开发-用于图像处理的高斯带通滤波器,高斯高通滤波器matlab,matlab源码.zip.zip
  • Butterworth高通滤波器matlab程序(原创)

    千次阅读 2021-04-18 06:12:38
    matlab编写的Butterworth高通滤波程序,可以运行,结果如截图源代码:clear all;close all;P=input('input image data:');subplot(221);imshow(P);title('原始图像');d=size(P);if(d(3)>1)P=rgb2gray(P);...

    用matlab编写的Butterworth高通滤波程序,可以运行,结果如截图源代码:

    clear all;

    close all;

    P=input('input image data:');

    subplot(221);imshow(P);

    title('原始图像');

    d=size(P);

    if(d(3)>1)

    P=rgb2gray(P);

    end

    subplot(222);imshow(P);

    title('灰度图像');

    f=double(P);

    g=fft2(f);%傅里叶变换

    g=fftshift(g);%转换数据矩阵

    [M,N]=size(g);

    % D0=input('input nonnegative dhreshold D0=');

    % n=input('input the order of filtering n=');

    D0=10;

    n=3;

    n1=fix(M/2);

    n2= fix(N/2);

    for i=1:M

    for j=1:N

    d=sqrt((i-n1)^2+(j-n2)^2);

    h=1/(1+(D0/d)^(2*n));

    result(i,j)=h*g(i,j);

    end

    end

    result=ifftshift(result);

    X2=ifft2(result);

    X3=uint8(real(X2));

    subplot(223)

    imshow(X3);

    title('Butterworht高通滤波结果');

    subplot(224);

    imshow (X3+P);

    title('Butterworth高通滤波增强所得图像');

    展开全文
  • 这是一个用于设计 iir 滤波器matlab 程序,可以修改该程序以获得其他类型的滤波器
  • matlab设计FIR高通滤波器,内涵实例,代码。
  • %高斯低通滤波器 RGB=imread'132.jpg; I0=rgb2gray(RGB; subplot(2,3,1,imshow(I0;title'原图; I1=imnoise(I0'gaussian%对原图像加噪声 subplot(2,3,2,imshow(I1;title'加入噪声后' %将灰度图像的二维不连续Fourier...
  • 经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的...其中D0为巴特沃斯高通滤波器的截止频率,其中D0为理想高通滤波器的截止频率,其中D0为高斯高通滤波器的截止频率,三、巴特沃斯高通滤波器(BHPF)....

    一、前言

    高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是使图像得到锐化处理,突出图像的边界。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质量可能由于噪声严重而难以达到满意的改善效果。为了既加强图像的细节又抑制噪声,可采用高频加强滤波。这种滤波器实际上是由一个高通滤波器和一个全通滤波器构成的,这样便能在高通滤波的基础上保留低频信息。

    高通滤波可以分为理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器。对于大小为M*N的图像,频率点(u,v)与频域中心的距离为D(u,v),其表达式为:
    在这里插入图片描述
    二、理想高通滤波器(IHPF)

    1、基本定义

    理想高通滤波器的产生公式为:
    在这里插入图片描述
    其中D0为理想高通滤波器的截止频率,注意与理想高通滤波器的表达式区别在于将0和1交换而条件不变

    2、matlab实现理想高通滤波器

    (1)实现代码:

    close all;
    clear all;
    clc;
    I = imread('coins.png');
    
    subplot(121),imshow(I);
    title('原始图像');
    
    % 函数fft2()用于计算二维傅立叶变换
    % 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
    % 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
    % 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
    s=fftshift(fft2(im2double(I)));
    [a,b]=size(s);
    a0=round(a/2);
    b0=round(b/2);
    d0=50; % 将理想高通滤波器的截止频率D0设置为50
    for i=1:a %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(a/2)^2+(j-round(b/2)^2))
        for j=1:b 
            distance=sqrt((i-a0)^2+(j-b0)^2);
            if distance<=d0  % 根据理想高通滤波器产生公式,D(i,j)<=D0,置为0
                h=0;
            else
                h=1;        % 根据理想高通滤波器产生公式,D(i,j)>D0,置为1
            end
            s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
        end
    end
    % real函数取元素的实部
    s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
    subplot(122),imshow(s,[]);
    title('理想高通滤波所得图像');
    

    (2)实现效果:
    在这里插入图片描述
    三、巴特沃斯高通滤波器(BHPF)

    1、基本定义

    巴特沃斯高通滤波器的产生公式为:
    在这里插入图片描述
    其中D0为巴特沃斯高通滤波器的截止频率,注意与巴特沃斯低通滤波器的表达式区别在于将分母的D0和D(u,v)交换位置

    2、matlab实现巴特沃斯高通滤波器

    (1)实现代码:

    close all;
    clear all;
    clc;
    I = imread('coins.png');
    
    subplot(121),imshow(I);
    title('原始图像');
    
    % 函数fft2()用于计算二维傅立叶变换
    % 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
    % 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
    % 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
    s=fftshift(fft2(im2double(I)));
    [N1,N2]=size(s);%求二维傅里叶变换后图像大小
    n=2;            % 将巴特沃斯高通滤波器的阶数n设置为2
    d0=30;          % 将巴特沃斯高通滤波器的截止频率D0设置为30
    n1=round(N1/2);
    n2=round(N2/2);
    for i=1:N1      %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(N1/2)^2+(j-round(N2/2)^2))
        for j=1:N2 
            distance=sqrt((i-n1)^2+(j-n2)^2);
            if distance==0 
                h=0; 
            else
                h=1/(1+(d0/distance)^(2*n));% 根据巴特沃斯高通滤波器公式为1/(1+[D0/D(i,j)]^2n)
            end
            s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
        end
    end
    % real函数取元素的实部
    s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
    subplot(122),imshow(s,[]);
    title('Butterworth高通滤波图像');
    
    

    (2)实现效果:
    在这里插入图片描述
    四、高斯高通滤波器(GHPF)

    1、基本定义

    高斯高通滤波器的产生公式为:
    在这里插入图片描述

    其中D0为高斯高通滤波器的截止频率,注意与高斯低通滤波器的表达式区别在于使用1减去表达式

    2、matlab实现高斯高通滤波器

    (1)实现代码:

    close all;
    clear all;
    clc;
    I = imread('coins.png');
    
    subplot(121),imshow(I);
    title('原始图像');
    
    % 函数fft2()用于计算二维傅立叶变换
    % 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
    % 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
    % 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
    s=fftshift(fft2(im2double(I)));
    [a,b]=size(s);
    d0=10; % 将高斯高通滤波器的截止频率D0设置为10
    a0=round(a/2);
    b0=round(b/2);
    for i=1:a
        for j=1:b
            distance=sqrt((i-a0)^2+(j-b0)^2);    % 根据高斯高通滤波器公式H(u,v)=e^-[D^2(u,v)/2*D0^2] 
            h=1-(exp(-(distance^2)/(2*(d0^2)))); % exp表示以e为底的指数函数
            s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
        end
    end
    
    s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
    subplot(122),imshow(s,[]); 
    title('高斯高通滤波图像');
    

    (2)实现效果:
    在这里插入图片描述

    由于刚刚开始学习图像处理,对于很多知识理解不到位。如有错误,恳请指正,任重而道远,慢慢加油!

    展开全文
  • MATLAB高通滤波器程序

    2018-08-29 16:30:56
    本程序是基于MATLAB软件数字高通滤波器
  • 方法使用逆高斯函数来转换它们的功能)、Butterworth(高通、低通和带通)滤波器设计对象、获取数据和过滤系数并返回过滤后的数据,频率响应分析(类似于 MATLAB 的 freqz)。 同样,提供了演示这些模块如何操作的...
  • 理想高通滤波 MATLAB

    2017-02-16 15:11:23
    用于图像的理想滤波器高通滤波
  • 最简单的FIR高通滤波器
  • 高斯高通滤波器matlab代码

    千次阅读 2019-04-18 22:10:17
    版权声明:<–本博客所有内容均为自己在学习工作中的总结、摘录等-- --转载请注明出处-- --如有侵权请联系删除–>...%GULS 高斯低通滤波器,D0为截至频率的(相当于设置在傅里叶谱图的半径值)...
  • 实践二: 理想高通滤波器、Butterworth高通滤波器、高斯高通滤波器2.1.1 理想高通滤波器实践代码:I=imread('girl.bmp');subplot(221),imshow(I);title('原图像');s=fftshift(fft2(I));subplot(223),imshow(abs(s),[]...
  • 这可以帮助您分析实时录制的声音(现场录音)并通过低通滤波器和高通滤波器并绘制其幅度谱。
  • 典型设计是先按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标,据此产生模拟滤波器原型,然后把模拟低通滤波器原型转换成模拟低通、高通、带通滤波器,最后再把模拟滤波器转换成数字滤波器...
  • 数字滤波器可分为IIR(无限冲激响应)和FIR(有限冲激响应)两种结构,FIR滤波器最大的优点是可设计成线性相位,FIR滤波器可通过窗函数法、频率抽样法和最优化设计法来设计[1],本文先解释FIR数字高通滤波的物理过程,然后...
  • 频域滤波器器的一些相关实验和滤波器的实现(包括理想低通,Butterworth低通,高斯低通,理想高通,Butterworth高通,高斯高通滤波器
  • matlab m代码详细的实现了切比雪夫滤波器,有详细的代码说明,并且可以任意修改参数根据需求
  • matlab 对三种高通滤波器(理想高通 巴特沃斯高通 高斯高通)及拉普拉斯增强算子 自写算法实现及比较 在时域中分析
  • 高通滤波器示例
  • matlab中设计FIR高通滤波器

    千次阅读 2020-11-10 17:22:18
    以下为一个高通滤波器matlab实现实例: data = [yourdata]; %读入你的处理数据 As = 50;Fs = 8000; Fs2 = Fs/2; % 阻带最小衰减和采样频率 fp = 75; fs = 60; % 通带阻带频率 df = fp-fs; % 求取过渡带 M0 = ...

空空如也

空空如也

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

高通滤波器matlab

matlab 订阅