在频谱中低频主要对应图像在平滑区域的总体灰度级分布,而高频对应图像的细节部分,如边缘和噪声。因此图像平滑可以通过衰减图像频谱中的高频部分来实现,这就建立了空间域图像平滑和频域低通滤波之间的对应关系。

理论基础

最容易想到的衰减高频成分方法是在一个称为‘截止频率’的位置截断所有的高频成分,将图像频谱中所有高于这一截止的频谱 成分设为0,低于截止频率的成分设为保持不变。能够达到这种效果的滤波器我们称之为理想低通滤波器。如果图像的宽度为 M,高度为N,那么理想的低通频域滤波器可以形式化的描述为

其中D0表示理想低通滤波器的截止频率,滤波器的频率域原点在频谱图像的中心处,在以截止频率为半径的圆形区域 之内的滤镜元素值全部为1,而该圆之外的滤镜元素值全部为0.理想低通滤波器的频率特性在截止频率处十分陡峭,无法用硬件实现,这也是我们称之为理想的原因,但其软件编程的模拟实现较为简单。

理想低通滤波器可以在一定程度上去除图像噪声,但由此带来的图像边缘和细节的模糊效应也比较明显,其滤波之后的处理效果比较类似于平均模板的平均平滑,实际上,理想低通滤波器是一个与频谱图像同样尺寸的二维矩阵,通过将矩阵中对应较高频率的部分设为0,较低频率的部分设为1,可在与频谱图像相乘后有效去除频谱的高频部分,其中0和1的交界处即对应滤波器的截止频率。

我们用imidealflpf 函数可以得到截止频率为freq的理想低通滤波器。代码如下:

function out=imidealflpf(I, freq)

%imidealflpf 函数 构造理想的频域低通滤波其

%I参

matlab低通滤波器库函数代码_频域低通滤波器(MATLAB 含代码)相关推荐

  1. MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab

    matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...

  2. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

  3. matlab最优控制实验报告_最优控制的MATLAB实现.doc

    最优控制的MATLAB实现 最优控制的MATLAB实现 摘要 线性二次型最优控制是一种普遍采用的最优控制系统设计方法.使用MATLAB软件设计的GUI控制界面实现最优控制,有较好的人机交互界面,便于使 ...

  4. 史上最烂代码_历史上最大的代码库

    史上最烂代码 Here's a diagram of the biggest codebases in history, as measured by lines of code: 这是历史上最大的代 ...

  5. python测验5 函数和代码_测验5: 函数和代码复用 (第5周)-单选题

    1.以下选项不是函数作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ A. 提 ...

  6. idea看更改过的代码_就是你把所有代码全写在一个类里的?

    来源 | https://urlify.cn/6jQRN3 最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了. 为了防止这样的惨剧 ...

  7. java测试性能代码_关于性能:Java代码内部的基准测试

    我最近一直在研究基准测试,我一直对记录程序数据等感兴趣.我想知道我们是否可以在程序中有效地实现自己的内存使用代码和实现自己的时间消耗代码.我知道如何检查代码运行所需的时间: public static ...

  8. vscode中怎样格式化js代码_如何在Visual Studio代码(VSCode)中格式化代码

    回答(30) 2 years ago 对于那些想要自定义要格式化的JavaScript文件的人,可以使用 JSfiles 属性上的任何扩展名同样适用于HTML . { "beautify.o ...

  9. 一段堆栈溢出的代码_为什么堆栈溢出的代码片段会破坏您的项目

    一段堆栈溢出的代码 Stack Overflow has been the saviour of many programmers, including me. Some of us have nev ...

最新文章

  1. 【FFmpeg】ffmpeg工具源码分析(二):转码核心函数 transcode
  2. DX11 preprocessor Dynamic shader linkage
  3. No module named 'oscar.apps.promotions'
  4. 决定你人生命运的10年,你做了什么?
  5. vue 项目中当访问路由不存在的时候默认访问404页面
  6. [Unity2018.3新功能]Prefab嵌套和变体
  7. Delphi实现带有格式的Excel导出功能
  8. css阵列,CSS3简单的圆点阵列旋转加载动画
  9. 冒泡排序的实现和优化及其与插入,选择排序的比较
  10. 计算机桌面小工具软件,win10桌面小工具(Desktop Gadgets Installer)
  11. 《机器学习》周志华第三章课后习题
  12. [Android移动安全渗透基础教程] 模拟器篇
  13. 【转载】完全二叉树的高度为什么是对lgN向下取整
  14. mr图像翻转的原因_前置摄像头水平翻转问题
  15. 解决File “D:\ProgramData\Anaconda3\lib\site-packages\keras\engine\saving.py“,相关问题
  16. 适当修改LIO-SAM_based_relocalization解决初始重定位显示错误
  17. 微信小程序--优购页面制作
  18. 明星2,3亿年收入,其实也合情合理
  19. C语言:调整数组顺序使其奇数位于偶数前面
  20. 运用黑白调整层抠图技法(勾头发)

热门文章

  1. 男孩子学管理好还是计算机好,2020年男孩子学什么专业好
  2. 男孩学高护好还是学计算机好,男孩子学高护专业好吗
  3. NDK34_RTMP:摄像头调用预览
  4. 计算机二级c培训,校园网-全国计算机等级考试二级C培训讲义.doc
  5. 定制开发的同城跑腿APP,都有哪些功能和优势?(案例分析)
  6. 关于iOS百度地图标注
  7. python输入出生日期和当前日期计算年龄_根据当前日期及出生日期,计算当前年龄(function)...
  8. 联想公司的 logo 设计
  9. 【网络知识】mac组播地址和单播地址
  10. 体验家推出CEM报告 | 从入门到精通——文本分析应用指南