建议参考书籍:数字图像处理_第三版 冈萨雷斯

写在前面:
对于给定的低通滤波器的函数表达式,可以得到高通滤波器的函数表达式:

理想高/低通滤波器

理想高通

一个二维理想高通滤波器(IHPF)定义为:
其中,D0为截至频率。D的表达式为:(后同)
是频域率中点(u, v)与频率矩形中心的距离,其中P,Q为频率矩形的长宽。

具体实现代码:

clc;
clear;
close all;img=imread('test.jpg');
subplot(221),imshow(img),title('原图');
F=fft2(img);
[M,N]=size(F);
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=M;% 可以自己调节截止频率
H=ones(M,N);
for i=1:Mfor j=1:Nif D(i,j)^2<=D0H(i,j)=0;endend
endshiftH=fftshift(H);
subplot(222),surf(shiftH(1:10:600,1:10:600)),title('理想高通滤波器透视图');
subplot(223),imshow(fftshift(H),[]),title('理想高通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('高通滤波');

代码效果:

理想低通

在以原点为圆心、以D0为半径的圆内,无衰减地通过所有频率,而在圆外‘切断‘所有频率的二维滤波器,称为理想低通滤波器(ILPF);它由以下函数确定:

具体代码实现:

clc;
clear;
close all;img=imread('test.jpg');
subplot(221),imshow(img),title('原图');
F=fft2(img);
[M,N]=size(F);
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=M;% 可以自己调节截止频率
H=zeros(M,N);
for i=1:Mfor j=1:Nif D(i,j)^2<=D0H(i,j)=1;endend
endshiftH=fftshift(H);
subplot(222),surf(shiftH(1:10:600,1:10:600)),title('理想低通滤波器透视图');
subplot(223),imshow(fftshift(H),[]),title('理想低通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('低通滤波');

代码效果:

高斯高/低通滤波

高斯高通

高斯高通滤波器函数表达式:


实现代码:

clc;
clear;
close all;img=imread('test.jpg');
F=fft2(img);
[M,N]=size(F);
subplot(221),imshow(img),title('原图');
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=0.1*M;
H=1-exp(-(D.^2)/(2*(D0)^2));
shiftH=fftshift(H);
subplot(222),mesh(shiftH(1:10:600,1:10:600)),title('高斯高通滤波透视图');
subplot(223),imshow(fftshift(H),[]),title('高斯高通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('高斯高通滤波');

代码效果:

高斯低通

高斯低通滤波器函数表达式:


具体代码实现:

clc;
clear;
close all;img=imread('test.jpg');
F=fft2(img);
[M,N]=size(F);
subplot(221),imshow(img),title('原图');
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=0.1*M;
H=exp(-(D.^2)/(2*(D0)^2));
shiftH=fftshift(H);
subplot(222),mesh(shiftH(1:10:600,1:10:600)),title('高斯低通滤波透视图');
subplot(223),imshow(fftshift(H),[]),title('高斯低通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('高斯低通滤波');

代码效果:

巴特沃斯高/低通滤波器

巴特沃斯高通

n阶巴斯沃特高通滤波器函数表达式为:


实现代码:

clc;
clear;
close all;img=imread('test.jpg');
F=fft2(img);
[M,N]=size(F);
n=2;
subplot(221),imshow(img),title('原图');
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=0.05*M;
H=1./(1+(D0./D).^(2*n));
shiftH=fftshift(H);
subplot(222),mesh(shiftH(1:10:600,1:10:600)),title('巴特沃斯2阶高通滤波透视图');
subplot(223),imshow(fftshift(H),[]),title('巴特沃斯2阶高通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('巴特沃斯2阶高通滤波');

代码效果:

巴特沃斯低通

截止频率位于距原点D0处的n阶巴特沃斯低通滤波器(BLPF)的传递函数为:

具体实现代码:

clc;
clear;
close all;img=imread('test.jpg');
F=fft2(img);
[M,N]=size(F);
subplot(221),imshow(img),title('原图');
u=0:(M-1);v=0:(N-1);
idx = find(u > M/2);u(idx) = u(idx) - M;
idy = find(v > N/2);v(idy) = v(idy) - N;
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=0.1*M;
H=1-exp(-(D.^2)/(2*(D0)^2));
shiftH=fftshift(H);
subplot(222),mesh(shiftH(1:10:600,1:10:600)),title('高斯高通滤波透视图');
subplot(223),imshow(fftshift(H),[]),title('高斯高通滤波器图像表示');
g=real(ifft2(F.*H));
subplot(224),imshow(g,[]),title('高斯高通滤波');

代码效果展示:

Matlab频域高/低通滤波相关推荐

  1. 基于matlab的音频信号低通滤波实验

    基于matlab的音频信号低通滤波实验 一.实验任务 录制语音信号,查看其时域频谱图. 加入高频噪声信号,并查看其时域频谱图. 设计低通滤波器,将带有高频噪声的语音信号经过低通滤波器,将噪声滤除,查看 ...

  2. matlab 对图像进行低通滤波,matlab图像处理实现低通滤波

    matlab图像处理实现低通滤波 matlab图像处理实现低通滤波 clc; clear all; img=imread('lena.jpg'); img_noise = imnoise(img, ' ...

  3. VTK:频域处理——低通滤波(理想+巴特沃斯)

    1.低通滤波器 低通滤波是将频域图像中的高频部分滤除而通过低频部分.图像的边缘和噪声对应于频域图像中的高频部分,而低频滤波的作用即是减弱这部分作用,从而达到图像平滑去噪的目的. 2.理想低通滤波器 最 ...

  4. MATLAB图像处理--高斯低通滤波、高斯高通滤波(代码及示例)

    本文目录 常用的滤波器 高斯低通滤波器 matlab代码 高斯高通滤波器 Butterworth 低通滤波器 常用的滤波器 常用的滤波器有以下几种: 频域滤波器 频域平滑滤波器 理想低通滤波器 巴特沃 ...

  5. MATLAB巴特沃斯低通滤波图像

    clc,clear,close all % 清理命令区.清理工作区.关闭显示图形 warning off % 消除警告 feature jit off % 加速代码运行 D0 = 20; % 阻止的频 ...

  6. MATLAB高通滤波与低通滤波GUI实现代码

    1.需搭建的GUI界面 两个axes,一个用于导入原始图像,一个用于输出处理后的头像,并且记好他们的Tag,在代码里会用到 2.导入图片功能代码实现 给一个String为导入图片的button添加ca ...

  7. Matlab对灰度图像的频域进行高通滤波和低通滤波

    1. 要求 对灰度图像进行离散傅里叶变换(Discrete Fourier Transfom, DFT)变换,在频域上分别使用理想的高通和低通滤波器进行滤波,显示滤波后的频域图像,以及逆离散傅里叶变换 ...

  8. 数字图像处理-频域滤波-高通/低通滤波

    频域滤波 频域滤波是在频率域对图像做处理的一种方法.步骤如下: 滤波器大小和频谱大小相同,相乘即可得到新的频谱. 滤波后结果显示,低通滤波去掉了高频信息,即细节信息,留下的低频信息代表了概貌.常用的例 ...

  9. 图像 理想低通滤波_图像处理之滤波(下)

    [toc]目录 一.常规滤波 低通 高通 带通 带阻 二.非局部均值滤波 三.维纳滤波 四.卡尔曼滤波 前言 所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号. 信号的分类: 确定型信号, ...

最新文章

  1. 常见排序7--基数排序
  2. 0代码就能做Python数据分析,这个Jupyter插件,用起来就像Excel一样简单
  3. 网络爬虫--26.Scrapy中下载器中间件Downloader Middlewares的使用
  4. python循环体执行的次数与其他不同的是_【单选题】下面Python循环体执行的次数与其他不同的是( )...
  5. vue 后台管理系统-创建项目
  6. 在同时使用animation和translate时,translate无效
  7. 【重新挂载磁盘空间】Linux系统/home的磁盘空间重新挂载给/root
  8. Eclipse常用开发插件(转)
  9. 路由器硬改内存笔记1-理论
  10. 微信公众号开发之配置开发服务器
  11. “鬼城”郑州郑东新区蝶变记,助力中部崛起
  12. poi批量导入导出Excel(一、需要建数据库表)
  13. chrome transition闪烁BUG 阿星小栈
  14. 扎心了!37岁被裁,好几个月都没有找到工作,面试大公司被婉拒,无奈只能降薪去小公司,没想到还被人嫌弃技术太落后...
  15. 5.字符串:aa:zhangsan@163.com!bb:lisi@sina.com!cc:wangwu@126.com 将存入hashMap中 key:aa,bb,cc value:zhang
  16. python中entry是什么意思_python中entry用法讲解
  17. 汽车制造行业工厂数据、互联数据和移动数据存储解决方案
  18. 恒大kk服务器信息端口,恒大kk手机客户端服务器
  19. Excel打开csv或文本文件乱码怎么办?
  20. 【java毕业设计】基于javaEE+原生Servlet+MySql的Web停车场管理系统设计与实现(毕业论文+程序源码)——停车场管理系统

热门文章

  1. databinding 入门 知识 给TextView 赋值
  2. 第二节 数学基础与语言学基础
  3. Windows 终端神器 MobaXterm,免费版可以在公司环境下使用
  4. 2.抽取代码(BaseActivity)
  5. SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题...
  6. cygwin编译verilator_Windows 安装 verilator
  7. 《OpenCV3编程入门》学习笔记6 图像处理(三)形态学滤波(1):腐蚀与膨胀
  8. 小程序picker_小程序·云开发实战 - 迷你微博
  9. mysql表 字段 说明_mysql表字段说明
  10. android json转db,Android Room:将json结果转换为db对象的有效方法