在一幅图像中,其低频成分对应者图像变化缓慢的部分,对应着图像大致的相貌和轮廓,而其高频成分则对应着图像变化剧烈的部分,对应着图像的细节(图像的噪声也属于高频成分)。

滤波器

  • 低通滤波器
  • 高通滤波器
  • 陷波滤波器
  • 各滤波器实验
    • 1、理想低通滤波器
    • 2、高斯滤波器
    • 3、巴特沃斯滤波器
    • 4、陷波滤波器

低通滤波器

低频滤波器,顾名思义,就是过滤掉或者大幅度衰减图像的高频成分,让图像的低频成分通过。低频滤波器可以平滑图像,虑去图像的噪声,而与此相反的高频滤波器,则是过滤低频成分,通过高频成分,可以达到锐化图像的目的。
理想低通滤波器的滤波非常尖锐,而高斯低通滤波器的滤波则非常平滑。Butterworth低通滤波器则介于两者之间,当Butterworth低通滤波器的阶数较高时,接近于理想低通滤波器,阶数较低时,则接近于高斯低通滤波器。

理想低通滤波器在以原点为圆心、D0为半径的园内,通过所有的频率,而在圆外截断所有的频率。(圆心的频率最低,为变换的直流(dc)分量)。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

高通滤波器

高通滤波器靠近频谱图中心的低频部分给舍弃掉,远离频谱图中心的高频部分保留。通常会保留物体的边界。其实图像的锐化往往也可以使用高通滤波器来实现,因为锐化的时候需要加强边界,而边界部分正是高频成分将lh设置为1代表高通滤波器

陷波滤波器

频率域技术滤除周期噪声可行的原因是周期噪声在对应于周期干扰的频率处,以集中的能量脉冲形式出现。滤除的方法之一是选择性滤波器(带阻、带通和陷波)。图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。
陷波滤波器阻止或通过事先定义的中心频率的邻域内的频率,由于傅立叶变换的对称性,陷波滤波器必须以关于原点对称的形式出现(如果陷波滤波器位于原点处陷波滤波器是其本身)。同样,也可以得到陷波带阻滤波器相对应的陷波带通滤波器通过而不是已知陷波区域中所包含频率的陷波滤波器。

各滤波器实验

1、理想低通滤波器

代码如下:

def low_pass_filter(img, radius=80):rows, cols = img.shapecenter = int(rows/2), int(cols/2)mask = np.zeros((rows, cols, 2), np.uint8)x, y = np.ogrid[:rows, :cols]mask_area = (x-center[0])**2+(y-center[1])**2 <= radius*radiusmask[mask_area] = 1return mask

2、高斯滤波器

代码如下:

def gaus_filter(img, radius=80):rows, cols = img.shapecenter = int(rows/2), int(cols/2)mask = np.zeros((rows, cols, 2), np.float32)for i in range(rows):for j in range(cols):dist = (i-center[0])**2+(j-center[1])**2mask[i, j] = np.exp(-0.5*dist/(radius**2))return mask

3、巴特沃斯滤波器

代码如下:

def bw_filter(img, radius=80, n=2):rows, cols = img.shapecenter = int(rows / 2), int(cols / 2)mask = np.zeros((rows, cols, 2), np.float32)for i in range(rows):for j in range(cols):dist = (i - center[0]) ** 2 + (j - center[1]) ** 2mask[i, j] = 1/(1+(dist/radius)**(n/2))return mask

4、陷波滤波器

代码如下:

def notch_filter(img, h, w):rows, cols = img.shapecenter = int(rows / 2), int(cols / 2)mask = np.zeros((rows, cols, 2), np.float32)for u in range(rows):for v in range(cols):mask[u,v]=0for u in range(rows):for v in range(cols):if abs(u - center[0]) < h and abs(v - center[1]) < w:mask[u, v] = 1return mask

python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器相关推荐

  1. 巴特沃斯滤波器应用场合_巴特沃斯滤波器的特性

    原标题:巴特沃斯滤波器的特性 (Butterworth)滤波器属于低通滤波器的一种,通过低频信号而衰减或抑制高频信号,在通频带内具有最大平坦幅度响应曲线,它在通信领域里已有广泛应用,在电测中也具有广泛 ...

  2. 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用

    龙源期刊网 http://www.qikan.com.cn 巴特沃斯数字低通滤波器设计及应用 作者:汪其锐 王桂华 王永军 来源:<山东工业技术> 2016 年第 24 期 摘 要:现实生 ...

  3. 常用模拟低通滤波器的设计~经典 IIR 滤波器之巴特沃斯滤波器

    目录 常用模拟低通滤波器的设计--巴特沃斯(Butterworth)滤波器 1.确定系统函数的极点 2.巴特沃斯(Butterworth)滤波器 2.1.buttap 函数 2.2.buttord 函 ...

  4. 巴特沃斯滤波器——python实现

    butter()函数是求Butterworth数字滤波器的系数向量,在求出系数后对信号进行滤波时需要用scipy.signal.filtfilt(). 需要安装scipy包. 函数butter() 设 ...

  5. Matlab语音信号去噪程序,使用低通巴特沃斯滤波器

    Matlab语音信号去噪程序,使用低通巴特沃斯滤波器. 1.读取一段歌曲的信号,绘制时域频域图,并播放. 2.添加正弦噪声: 3.设计巴特沃斯低通滤波器: 4.使用滤波器去除噪声,并画出时域频域图,播 ...

  6. 设计一个三阶巴特沃斯滤波器_巴特沃斯滤波器频率设计及增益多项式方程

    在之前的滤波器教程中,我们研究了简单的一阶型低通和高通滤波器,它们的RC滤波器电路设计中只包含一个电阻器和一个无功元件(电容器). 在使用滤波器对信号的频谱进行整形的应用中,例如在通信或控制系统中,滚 ...

  7. 巴特沃斯滤波器 python_巴特沃斯、切比雪夫、贝塞尔滤波器的区别

    巴特沃斯滤波器.切比雪夫滤波器.贝塞尔滤波器均包括模拟滤波器和数字滤波器两种形式. 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变 ...

  8. 数字信号处理公式变程序(四)——巴特沃斯滤波器(下)

    之前已经讲过巴特沃斯滤波器的基础知识和数字滤波器求系统函数的代码实现,本节讲如何使用数字滤波器的系统函数实现对信号的滤波. 注:可能会有不足或者理解偏差的地方,路过的高人请不吝赐教. OK,开始! = ...

  9. 巴特沃斯滤波器、切比雪夫、椭圆滤波

    滤波器概述 滤波器的作用就是过滤波形,过滤掉不需要的波形成分,与在时间上截取某一部分波形相区别,这个波形成分一般用频率来描述,也可以用模拟角频率核数字角频率来描述.从滤波器的通带范围可以分为低通.高通 ...

最新文章

  1. [C++对象模型][6]sizeof与对象内存布局
  2. mvn test BUILD FAILURE
  3. 【工具】公网临时大文件传输工具
  4. TFS与Eclipse、Microsoft Visual Studio等客户端以webservice进行交换。
  5. 业内指路共享软件:更多机会在移动和海外市场(三)
  6. springboot 整合redis_springboot自动装配原理详解
  7. Sequence of methods in form and table in AX
  8. 两步集成TV移动框架,从未如此简单
  9. mysql存过游标_mysql存储过程 游标 循环使用介绍
  10. 简述python2.x和python3.x的区别_python面试题Python2.x和Python3.x的区别
  11. 仿微信小程序小空投(头)iApp源码+PHP后端
  12. Newifi路由刷机R6830
  13. error:failed to run html help compiler on index.hhp
  14. 腾讯云容器安全已支持检测Apache Log4j2漏洞
  15. 如何简单又好看地美化你的Ubuntu界面
  16. Keil暗色模式配置文件
  17. OLTP OLAP
  18. Web前端开发实训 -- 弹球王小游戏
  19. MobaXterm上传文件后大小为0kb或者非常大
  20. std::lock_guard的原理和应用

热门文章

  1. Python str find方法
  2. 腰肌劳损患者自我保健方法
  3. Android开发必会技术!Flutter中网络图片加载和缓存源码分析,完整PDF
  4. 服务器2003丢失系统文件,如何解决开机提示windows/system32/config/system文件丢失
  5. 如何在网页中设置一个定时器计算时间?
  6. Internal error: Oops: 37 [#1] PREEMPT SMP ARM。处理方法果然touchscreens被编译了,但是我的触摸屏没有接,取消此编译选项,重新编译,开发成功启动
  7. C++长整型(long long)64位整型耗时问题
  8. rsync下行同步和inotify实时同步部署
  9. 论文阅读_广义加性模型_GAMs
  10. Kubernetes之PV与PVC