python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

这篇具有很好参考价值的文章主要介绍了python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

低通滤波器

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

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

高通滤波器

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

陷波滤波器

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

各滤波器实验

1、理想低通滤波器

代码如下:

def low_pass_filter(img, radius=80):
    rows, cols = img.shape
    center = 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*radius
    mask[mask_area] = 1
    return mask

python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

2、高斯滤波器

代码如下:

def gaus_filter(img, radius=80):
    rows, cols = img.shape
    center = 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])**2
            mask[i, j] = np.exp(-0.5*dist/(radius**2))
    return mask

python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

3、巴特沃斯滤波器

代码如下:

def bw_filter(img, radius=80, n=2):
    rows, cols = img.shape
    center = 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]) ** 2
            mask[i, j] = 1/(1+(dist/radius)**(n/2))
    return mask

python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器

4、陷波滤波器

代码如下:

def notch_filter(img, h, w):
    rows, cols = img.shape
    center = 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]=0
    for u in range(rows):
        for v in range(cols):
            if abs(u - center[0]) < h and abs(v - center[1]) < w:
                mask[u, v] = 1

    return mask

python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器文章来源地址https://www.toymoban.com/news/detail-512717.html

到了这里,关于python实现陷波滤波器、低通滤波器、高斯滤波器、巴特沃斯滤波器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字信号处理|Matlab设计巴特沃斯低通滤波器(冲激响应不变法和双线性变换法)

    2.1频响图 系统函数 H 是一个复数,其图谱分为:幅度谱、相位谱 幅度谱 x轴:模拟频率f(数字频率w转化来)【 单位:赫兹Hz 】 y轴:|H1|幅度【一般用:20 * log10|H1|】【 单位:分贝dB 】  相位谱 x轴:模拟频率f(数字频率w转化来)【 单位:赫兹Hz 】 y轴:H1 的相位 2.2 各个频

    2023年04月08日
    浏览(43)
  • Matlab图像处理- 高斯低通滤波器

      高斯低通滤波器 高斯低通滤波器是一种 更平滑的一种滤波器 ,高斯低通滤波器完全没有振铃现象,且边缘平滑。 示例代码 利用输入图像,构建一个截止频率为30的高斯低通滤波器的透视图如下图所示。 效果图片

    2024年02月09日
    浏览(45)
  • 高斯滤波器讲解(python实现)

    比均值滤波处理图像更加的平滑,边界保留效果更加好; 高斯滤波是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。但其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为

    2024年02月03日
    浏览(44)
  • 用python实现高斯滤波器

    高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大

    2024年02月16日
    浏览(51)
  • 【Python 算法】信号处理通过陷波滤波器准确去除工频干扰

    对于一个信号来说通常汇入工频噪声往往是因为交流电产生的电泳,影响了我们信号采集导致信号上存在工频干扰。 那么matlab去除工频干扰可以通过陷波滤波器实现。 在python中通常使用scipy.signal实现信号的处理。 Scipy的信号处理模块(scipy.signal)来创建自定义的陷波滤波器

    2024年02月08日
    浏览(50)
  • 【C++】【图像处理】均值滤波 and 高斯滤波 and 中值滤波 (低通滤波器)and Sobel算子边缘提取算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

     中值滤波: 中值滤波中的MidValueFind函数的实现就是冒泡排序,最后去中间值返回:  Soble算子边缘提取:     总结: 1、均值、高斯滤波和Sobel算子边缘提取的核心,创建卷积核并确定各个点上的权重,然后将边缘灰度级归零(是否边缘归零按业务需求决定),提取非边缘像

    2024年02月05日
    浏览(56)
  • OpenCV(图像处理)-基于python-滤波器(低通、高通滤波器的使用方法)

    低通滤波 :低通滤波可以去除图像的噪音或平滑图像。 高通滤波 :可以帮助查找图像的边缘。 噪音 :即对一幅图像的产生负面效果,过暗或过亮的部分,一幅图像中,低于或高于某个像素点的值,都可以认为是噪音。 卷积核 :即用来滤波的矩阵,卷积核一般为奇数,如

    2024年02月09日
    浏览(66)
  • MATLAB实现低通滤波器(附完整代码)

    1.MATLAB实现低通滤波器 以下是一个完整的示例,包括生成一个包含高频噪声的信号,然后使用一个低通滤波器对其进行滤波,最后绘制原始信号和滤波后的信号。 % 设置参数 Fs = 1000;  % 采样率 Fc = 100;   % 截止频率 N = 60;  % 滤波器的阶数 T = 1/Fs;  % 采样周期 L = 1000;  % 信号长

    2024年04月09日
    浏览(46)
  • 用python绘制RC低通滤波器bode图

    Bode图(国内有译作“伯德图”,也有译作“波特图”)是一种用于描述线性系统的频率响应的图形工具。频率响应是指系统对不同频率的输入信号的响应程度,通常用幅度和相位来表示。Bode图以对数坐标轴的形式显示系统的幅频特性和相频特性,通常使用dB和度作为单位。 Bo

    2024年02月01日
    浏览(47)
  • 四阶巴特沃斯高通滤波器

    图1.1-1 巴特沃斯高通滤波器归一化幅频响应 图1.1-2 巴特沃斯低通、高通电路阶数n与增益的关系 图1.1-3 二阶高通滤波电路及其传递函数 综合滤波器滤波效果及电路实现难度,采用四阶高通滤波器 图1.2-1 四阶高通滤波电路 查表得到,四阶巴特沃斯的一级电路的放大系数为1.1

    2024年02月06日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包