精华内容
下载资源
问答
  • 图像处理的几种滤波

    千次阅读 2018-03-26 17:06:07
    均值滤波均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一低通滤波器,高频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素...

    均值滤波

    均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素计算出来的平均值替换图像中每个像素。采样Kernel数据通常是3X3的矩阵,如下表示:

    从左到右从上到下计算图像中的每个像素,最终得到处理后的图像。均值滤波可以加上两个参数,即迭代次数,Kernel数据大小。一个相同的Kernel,但是多次迭代就会效果越来越好。同样,迭代次数相同,Kernel矩阵越大,均值滤波的效果就越明显。


    中值滤波

    中值滤波也是消除图像噪声最常见的手段之一,特别是消除椒盐噪声,中值滤波的效果要比均值滤波更好。中值滤波是跟均值滤波唯一不同是,不是用均值来替换中心每个像素,而是将周围像素和中心像素排序以后,取中值,一个3X3大小的中值滤波如下:

     


    最大最小值滤波

    最大最小值滤波是一种比较保守的图像处理手段,与中值滤波类似,首先要排序周围像素和中心像素值,然后将中心像素值与最小和最大像素值比较,如果比最小值小,则替换中心像素为最小值,如果中心像素比最大值大,则替换中心像素为最大值。一个Kernel矩阵为3X3的最大最小值滤波如下:

     


    双边滤波

    一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。

    先看看高斯滤波器


    其中W是权重,i和j是像素索引,K是归一化常量。公式中可以看出,权重只和像素之间的空间距离有关系,无论图像的内容是什么,都有相同的滤波效果。

    再来看看双边滤波器,它只是在原有高斯函数的基础上加了一项,如下


    其中 I 是像素的强度值,所以在强度差距大的地方(边缘),权重会减小,滤波效应也就变小。总体而言,在像素强度变换不大的区域,双边滤波有类似于高斯滤波的效果,而在图像边缘等强度梯度较大的地方,可以保持梯度


    引导滤波

    与双边滤波最大的相似之处,就是同样具有保持边缘特性。在引导滤波的定义中,用到了局部线性模型,至于该模型,可以暂时用下图简单的理解


    该模型认为,某函数上一点与其邻近部分的点成线性关系,一个复杂的函数就可以用很多局部的线性函数来表示,当需要求该函数上某一点的值时,只需计算所有包含该点的线性函数的值并做平均即可。这种模型,在表示非解析函数上,非常有用。

    同理,我们可以认为图像是一个二维函数,而且没法写出解析表达式,因此我们假设该函数的输出与输入在一个二维窗口内满足线性关系,如下


    其中,q是输出像素的值,I是输入图像的值,i和k是像素索引,a和b是当窗口中心位于k时该线性函数的系数。其实,输入图像不一定是待滤波的图像本身,也可以是其他图像即引导图像,这也是为何称为引导滤波的原因。对上式两边取梯度,可以得到


    即当输入图像I有梯度时,输出q也有类似的梯度,现在可以解释为什么引导滤波有边缘保持特性了。

    下一步是求出线性函数的系数,也就是线性回归,即希望拟合函数的输出值与真实值p之间的差距最小,也就是让下式最小


    这里p只能是待滤波图像,并不像I那样可以是其他图像。同时,a之前的系数(以后都写为e)用于防止求得的a过大,也是调节滤波器滤波效果的重要参数。通过最小二乘法,我们可以得到


    其中,是I在窗口w_k中的平均值,是I在窗口w_k中的方差,是窗口w_k中像素的数量,是待滤波图像p在窗口w_k中的均值。

    在计算每个窗口的线性系数时,我们可以发现一个像素会被多个窗口包含,也就是说,每个像素都由多个线性函数所描述。因此,如之前所说,要具体求某一点的输出值时,只需将所有包含该点的线性函数值平均即可,如下


    这里,w_k是所有包含像素i的窗口,k是其中心位置。

    当把引导滤波用作边缘保持滤波器时,往往有 I = p ,如果e=0,显然a=1, b=0是E(a,b)为最小值的解,从上式可以看出,这时的滤波器没有任何作用,将输入原封不动的输出。如果e>0,在像素强度变化小的区域(或单色区域),有a近似于(或等于)0,而b近似于(或等于),即做了一个加权均值滤波;而在变化大的区域,a近似于1,b近似于0,对图像的滤波效果很弱,有助于保持边缘。而e的作用就是界定什么是变化大,什么是变化小。在窗口大小不变的情况下,随着e的增大,滤波效果越明显。

    在滤波效果上,引导滤波和双边滤波差不多,在一些细节上,引导滤波较好。引导滤波最大的优势在于,可以写出时间复杂度与窗口大小无关的算法,因此在使用大窗口处理图片时,其效率更高。


    def guidedfilter(I,p,r,eps):
        '''I:引导图图;
        p:输入图(p=I);
        r :半径:
        eps:regulation 
        f:为窗口半径为r的均值滤波器;
        corr:相关;
        var:方差;
        cov:协方差
        '''
        height,width = I.reshape()
        m_I = cv2.boxFilter(I,-1,(r,r))  #f_mean(I) 均值滤波blur和盒式滤波一样
        m_p = cv2.boxFilter(p,-1,(r,r))  #f_mean(p)
    
    
        m_II = cv2.boxFilter(I*I,-1,(r,r)) #f_mean(I.*I)
        m_Ip = cv2.boxFilter(I * p, -1, (r, r))  #f_mean(I.*p)
    
        var_I = m_II-m_I*m_I   #求方差:corr_I -mean_I.*mean_I
        cov_Ip = m_Ip - m_I * m_p  #协方差: #cov_Ip-mean_I.*mean_p
    
        a = cov_Ip/(var_I+eps)  #cov_Ip./(var_I+eps)
        b = m_p-a*m_I   #mean_p -a.*mean_I
        m_a = cv2.boxFilter(a,-1,(r,r))  #mean_a
        m_b = cv2.boxFilter(b,-1,(r,r))  #mean_b
        return m_a*I+m_b

    展开全文
  • 常见几种数字滤波算法及特点

    千次阅读 2020-04-04 18:57:17
    1. 均值滤波(算术平均,去极值平均,加权平均,滑动平均) 2.中值滤波 3.限幅滤波 4.限速滤波 5.惯性滤波 常用的排序方法

    一、均值滤波

    均值滤波即对多个采样值进行求和、取平均,是消除随机误差最常用的方法,主要分为以下几种:

    1. 算术平均滤波

    原理: 在采样周期T内,对测量信号y连续进行m次采样,并把m个采样值相加取算术平均值作为本次的有效采样值。即:
    Y = (y1+y2+y3+···+ym) / m ;
    其中采样次数m的值决定了信号的平滑度和灵敏度。提高m的值可以改善平滑度,但系统灵敏度随之降低。因此,采样次数m 取值随被控对象的不同而不同。一般情况下,流量信号可取10左右,压力信号可取4左右,而温度、成分等缓慢变化信号可取2甚至不进行算术平均。在编程时m一般取2、4、8等(2的整数幂),以便用移位来代替除法运算求得平均值。

    特点: 采样的平滑度与灵敏度之间存在矛盾(采样次数少则平滑性差,次数多则灵敏度下降);且无法消除偶然的干扰脉冲,只是将均值作为了结果,测量精度有所降低。

    2. 去极值平均滤波

    原理: 去极值平均滤波与算术平均滤波原理相似,只是在算术平均滤波的基础上,先将m个数据中的最大值与最小值剔除,再计算余下的m-2个数据的算术平均值。即:
    Y = [ (y1+y2+y3+···+ym) - ymax - ymin ] / (m-2) ;
    相应地,在编程时m一般取4、6、10等(2的整数幂+2),以便用移位来代替除法运算求得平均值。其中剔除最值常用的排序方法是冒泡排序或选择排序。

    特点: 采样的平滑度与灵敏度之间存在矛盾(采样次数少则平滑性差,次数多则灵敏度下降)。

    3. 加权平均滤波

    原理: 对每次的采样值以不同的权系数(越新鲜的采样值权重越大)相加,m一般取到4即可,即:
    Y = (C1·y1+C2·y2+C3·y3+···+Cm·ym) ;
    例如m=4时,权系数可以取:C1=e-3t/R, C2=e-2t/R, C3=e-t/R, C4=1/R,其中R=e-3t+e-2t+e-t+1;

    特点: 可以协调系统平滑性与灵敏度之间的矛盾,在不降低平滑性的前提下提高灵敏度,更适用于纯滞后较大的对象。

    4. 滑动平均滤波

    原理: 滑动平均滤波是在每个采样周期只采样一次,将这一次的采样值和过去的若干采样值一起求平均,所得结果为有效采样值。
    不妨以取m个采样值求滑动平均为例,利用循环队列的结构方式来暂存数据,每新采集一个数据便并入该队列的队尾,同时“挤”掉队首的一个数据,这样在队列中能够始终保持有m个不断更新的数列。

    特点: 当系统的采样速度较慢或采样信号变化较快时,能够保证系统的实时性。

    二、中值滤波

    原理: 将信号y进行连续采样,把所得到的m个采样值按大小进行排序,取中值作为本次采样的有效采样值。(当m为奇数时取中间数,当m为偶数时取中间两数的均值;一般m取3~5次即可)。

    特点: 对于 缓慢变化过程中的偶然因素所引起的波动 或 采样器不稳定造成的误差所引起的脉动干扰 比较有效;但由于采样点的限制,应用范围不宽,不适用于快速变化过程(如流量)的信号采样。

    三、限幅滤波

    经验说明,生产过程中许多物理量变化需要一定时间,因此相邻两次采样值之间的变化幅度应在一定限度内,即 |Yn - Yn-1| ≤ ΔY。

    原理: 限幅滤波就是通过比较两次相邻采样值差的绝对值和最大允差ΔY(取决于采样周期和信号变化率),从而得到有效采样值。
    即:当 |Yn - Yn-1| ≤ ΔY 时,表明本次采样真实,取本次采样值为有效采样值;当 |Yn - Yn-1| > ΔY时,表明本次采样不真实,取前1次采样值为有效采样值。简易理解如下:
    Y = Yn, (| Yn - Yn-1 | ≤ ΔY)------差距合理,此次测量有效
    Y = Yn-1,(| Yn - Yn-1 | > ΔY)----差距过大,此次测量不作数

    特点: 限幅滤波对随机干扰或因采样器不稳定引起的失真有良好的滤波效果。主要用于变化比较缓慢的参数,如温度、物理位置等测量系统。具体应用时,关键的问题是最大允差ΔY的选取,ΔY太大,各种干扰信号“乘虚而入”,使系统误差增大;ΔY太小,又会使某些有用信号被“拒之门外”,使采样效率变低。因此,门限值ΔY的选取非常重要,通常可根据经验数据获得,必要时也可由实验得出。

    四、限速滤波

    原理: 把当前采样值Yn与前两次采样值Yn-1、Yn-2进行比较,取差值的绝对值ΔY作为比较依据,分别得到有效采样值Y,即:
    Y=Yn-1,( | Yn-1-Yn-2 | ≤ ΔY )-----仅前两次的差值<ΔY,取前1次的采样值
    Y=Yn, ( | Yn-1-Yn-2 | > ΔY 且 | Yn-Yn-1 | ≤ ΔY )----仅当后两次差值<ΔY时,取本次
    Y=(Yn+ Yn-1)/2------前、后两次差值均>ΔY,即当 |Yn-1-Yn-2|>ΔY 且 | Yn-Yn-1|>ΔY时,取该两次均值

    特点: 保证了采样的实时性和连续性;但ΔY的确定不够灵活,必须根据现场的情况不断更换新值,且不能反映当采样点数N>3时各采样值受干扰的情况。

    五、惯性滤波

    原理: 惯性滤波(又称一阶滞后滤波)是模仿硬件RC低通滤波器的数字实现。

    常用的RC滤波器的传递函数是:Y(s) / X(s) = 1 / (1+Tf·s) ------①

    式①中,Tf是滤波器的滤波时间常数,其大小关系到滤波效果。一般来说,Tf越大,滤波器的截止频率(滤出的干扰频率)越低,滤出的电压波纹较小,但输出滞后较大。由于时间常数大以及高精度的RC电路不易制作,所以硬件RC不可能对极低频率的信号进行滤波。为此可以模仿硬件RC滤波器的特性参数,用软件做成低通滤波器,从而实现一阶惯性的数字滤波。

    将①式写成差分方程形式:Tf · [y(k) - y(k-1)] / T + y(k) = x(k) ------②

    将②式整理后,得到:y(k)= T/(T+Tf)·x(k) + Tf/(T+Tf)· y(k-1) ------③

    令 α =T/(T+Tf),亦即:y(k) = α·x(k) + (1-α)·y(k-1) ------④

    式③中,x(k)为第k次采样的滤波输入值,即第k次采样值;y(k-1)为第k-1次采样的滤波输出值;y(k)为第k次采样的滤波输出值;α即T/(T+Tf)为滤波系数;Tf为滤波环节的时间常数;T为采样周期。一般当T远小于Tf即α远小于1时,本次的有效采样值(滤波输出值)主要取决于上次的有效采样值(滤波输出值),而本次的采样值(滤波输入值)仅起到一点修正作用。假定采样周期T足够小,则有
    α ≈ T/Tf ,滤波算法的截止频率为:f = 1/(2·Π·RC) = α/(2·Π·T) ----⑤

    式④中,f 为截止频率,Π为圆周率,RC为电路分析中常见的的阻容参数,T为采样周期。当采样周期 T一定时,滤波系数 α 越小,数字滤波器的截止频率 f 就越低。

    特点: 模拟了具有惯性的RC滤波器,对频率较低随机变化的信号滤波效果很好;但不能滤除高于1/2采样频率的干扰信号。

    六、复合滤波

    为了进一步提高滤波效果,有时可以把2种或2种以上不同功能的数字滤波器组合起来,组成复合数字滤波器,或称多级数字滤波器。
    例如防脉冲干扰平均值滤波就是一种应用实例,由于这种滤波方法兼顾了中值滤波和算术平均值滤波的优点,所以无论对缓慢变化的信号,还是对快速变化的信号,都能获得较好的滤波效果。
    再如对高频和低频部分都需要滤波的信号,就可以用复合滤波;也可采用双重滤波的方法,即把采样值经过低通滤波后,再经过一次高通滤波。这样,结果更接近理想值,这实际上相当于多级RC滤波器。

    附、常用的排序方法

    1. 冒泡排序法
      https://www.cnblogs.com/Xloading/p/12003652.html
    2. 选择排序法
      https://blog.csdn.net/changhangshi/article/details/82740541
    展开全文
  • 视频处理归根到底还是得对图像进行处理,常见的图像处理可以大致分为时域上处理和频域上处理,为此,我们先了解一下什么是时域,什么是频域 时域是真实世界,是唯一真实存在的域,自变量是时间,即横轴是时间,纵轴是...

    时域与频域

    视频处理归根到底还是得对图像进行处理,常见的图像处理可以大致分为时域上处理和频域上处理,为此,我们先了解一下什么是时域,什么是频域

    时域是真实世界,是唯一真实存在的域,自变量是时间,即横轴是时间,纵轴是信号的变化,其动态信号x(t)是描述信号在不同时刻取值的函数;
    频域最重要的性质就是它不是真实的,仅仅是一个数学构造,自变量是频率,即横轴是频率,纵轴是该频率信号的幅度,也就是通常说的频谱图。

    更多关于时域与频域的请阅读以下文章
    -什么是时域和频域
    -信号时域频域及转换
    相关图像噪声可以点击这里

    均值滤波

    均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值

    通俗的所就是用选定区域的平均值来代替该点的像素值,比如选定的区域是(3,3)的,不考虑边界,第一个区域就是(1+2+1+1+2+2+5+7+6)/9=3,所以该点的值为3。边界值不变(如果考虑边界要进行补零操作),显然这有点类似卷积,给定一个33(当然也可以是其他大小的区域,一般都是33)的卷积核如下
    [1,1,1;1,1,1;1,1,1]*1/9
    这就可以实现均值滤波了,当然,可以更换卷积核来实现加权平均的效果,根据上面的原理可以自己编写均值滤波的函数,网上已有很多博客实现了,这里就不在多说了,以下功能的实现基于opencv自带的去燥模块(blur函数)。

    C++:  void blur(InputArray src,OutputArray,dst,Size ksize,Point anchor=Point(-1,-1),int borderType=BORDER_DEFAULT)
    

    相关介绍点击这里

    在这里插入图片描述
    注意:
    这里的像素值都是整数,所以在平均之后若有小数,按四舍五入处理
    程序实现

    import numpy as np
    import matplotlib.pyplot as plt
    from PIL import Image
    from skimage import util
    import cv2
    import chardet
    
    # 打开图片
    img = Image.open("C:\\Users\\ranmaohua\\Desktop\\solaka.jpg")
    img0 = np.array(img)  # 相应的数据类型处理,便于后续处理
    
    # 给图片加噪声
    noise_sp_img = util.random_noise(img0, mode="s&p")  # 椒盐噪声
    noise_gs_img = util.random_noise(img0, mode="gaussian")  # 高斯噪声
    noise_poisson_img = util.random_noise(img0, mode="poisson")  # 泊松噪声
    
    # 滤波处理
    img1 = cv2.blur(noise_sp_img.astype(np.float32), (3, 3))  # 均值滤波
    img2 = cv2.blur(noise_gs_img.astype(np.float32), (3, 3))  # 均值滤波
    img3 = cv2.blur(noise_poisson_img.astype(np.float32), (3, 3))  # 均值滤波
    
    
    # 图片可视化
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_sp_img)
    plt.title("salt and pepper noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.imshow(img1)
    plt.title("After filtering")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_gs_img)
    plt.title("gaussian noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img2)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(noise_poisson_img)
    plt.title("poisson noise ")
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img3)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img0)
    plt.title("Original image")
    
    plt.show()
    
    

    效果
    针对椒盐噪声
    在这里插入图片描述
    细节
    在这里插入图片描述
    针对高斯噪声
    在这里插入图片描述
    细节图
    在这里插入图片描述
    针对泊松噪声
    在这里插入图片描述
    细节图
    在这里插入图片描述
    分析:均值滤波对三种噪声的效果不是特别理想,看起来仅仅是对图像进行了模糊化处理,这也是均值滤波的一个缺陷。

    中值滤波

    中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值.
    中值滤波法对消除椒盐噪声非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大.
    中值滤波在图像处理中,常用于保护边缘信息,是经典的平滑噪声的方法。

    原理就是将上述的平均值,换成所选区域中的中值
    同样所有值均为整数,出现小数按四舍五入处理。
    程序实现

    import numpy as np
    import matplotlib.pyplot as plt
    from PIL import Image
    from skimage import util
    import cv2
    import chardet
    
    # 打开图片
    img = Image.open("C:\\Users\\ranmaohua\\Desktop\\solaka.jpg")
    img0 = np.array(img)  # 相应的数据类型处理,便于后续处理
    
    # 给图片加噪声
    noise_sp_img = util.random_noise(img0, mode="s&p")  # 椒盐噪声
    noise_gs_img = util.random_noise(img0, mode="gaussian")  # 高斯噪声
    noise_poisson_img = util.random_noise(img0, mode="poisson")  # 泊松噪声
    
    # 滤波处理
    
    # 均值滤波
    # img1 = cv2.blur(noise_sp_img.astype(np.float32), (3, 3))
    # img2 = cv2.blur(noise_gs_img.astype(np.float32), (3, 3))
    # img3 = cv2.blur(noise_poisson_img.astype(np.float32), (3, 3))
    
    # 中值滤波
    img1 = cv2.medianBlur(noise_sp_img.astype(np.float32), 3)
    img2 = cv2.medianBlur(noise_gs_img.astype(np.float32), 3)
    img3 = cv2.medianBlur(noise_poisson_img.astype(np.float32), 3)
    
    # img3 = cv2.medianBlur(noise_poisson_img.astype(np.float32), 3)
    
    
    # 图片可视化
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_sp_img)
    plt.title("salt and pepper noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.imshow(img1)
    plt.title("After filtering")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_gs_img)
    plt.title("gaussian noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img2)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(noise_poisson_img)
    plt.title("poisson noise ")
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img3)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img0)
    plt.title("Original image")
    
    plt.show()
    
    

    效果
    针对椒盐噪声
    在这里插入图片描述
    细节图
    在这里插入图片描述
    针对高斯噪声
    在这里插入图片描述
    细节图
    在这里插入图片描述
    针对泊松噪声
    在这里插入图片描述
    细节图
    在这里插入图片描述

    分析

    从结果来看,中值滤波对椒盐噪声(脉冲噪声)的滤波效果出奇的好,但是对其余两种噪声的滤波效果并不是特别理想。

    高斯滤波

    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [1] 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
    感兴趣的可以阅读下面几篇文献
    简单易懂的高斯滤波
    高斯滤波详解

    原理

    理论上,高斯分布在所有定义域上都有非负值,这就需要一个无限大的卷积核。实际上,仅需要取均值周围3倍标准差内的值,以外部份直接去掉即可(就是我们通常说的3σ原则)
    在这里插入图片描述
    高斯核(也就是高斯模板)的值=像素点坐标对应的二维高斯分布函数的值
    我们可以看到,以一维高斯分布函数为例,当x很小或者很大时,对应的函数值为趋于0,在卷积的过程中并不起作用,所以一般省略。另外从高斯分布来看,σ越小,曲线越高瘦,也就是说当σ很小时,高斯核的半径越小,也就是模糊半径越小。

    高斯模板的确定

    首先我们看看一维高斯分布和二维高斯分布
    在这里插入图片描述
    图像处理主要是采用二维高斯分布,锚点处为原点,水平向右为x轴正向,竖直向下为y轴正向,需要给定模糊半径
    在这里插入图片描述
    我们就得到了模糊半径为1的高斯模板,因为高斯模板的特性(模板内所有值的和为1),为此我们需要对右边的矩阵进行归一化处理,即将每个值除以九个值的和,得到的矩阵就是我们所需要的高斯模板(实际上就是一个卷积核)
    在这里插入图片描述
    注意:由于四舍五入的原因,模板内的值可以略微比1大或者略微比1小。

    滤波

    高斯滤波实际上就是用高斯模板对图像进行卷积,具体过程与一般的卷积类似。

    效果

    椒盐噪声
    在这里插入图片描述
    细节
    在这里插入图片描述
    高斯噪声
    在这里插入图片描述
    细节
    在这里插入图片描述
    泊松噪声
    在这里插入图片描述
    细节
    在这里插入图片描述

    分析

    高斯滤波对高斯噪声的滤除效果还不错,但是细看的话还是有点差距,可能是高斯核(高斯模板)和σ取的值不太合适。
    程序

    import numpy as np
    import matplotlib.pyplot as plt
    from PIL import Image
    from skimage import util
    import cv2
    import chardet
    
    # 打开图片
    img = Image.open("C:\\Users\\ranmaohua\\Desktop\\solaka.jpg")
    img0 = np.array(img)  # 相应的数据类型处理,便于后续处理
    
    # 给图片加噪声
    noise_sp_img = util.random_noise(img0, mode="s&p")  # 椒盐噪声
    noise_gs_img = util.random_noise(img0, mode="gaussian")  # 高斯噪声
    noise_poisson_img = util.random_noise(img0, mode="poisson")  # 泊松噪声
    
    # 滤波处理
    
    # 均值滤波
    # img1 = cv2.blur(noise_sp_img.astype(np.float32), (3, 3))
    # img2 = cv2.blur(noise_gs_img.astype(np.float32), (3, 3))
    # img3 = cv2.blur(noise_poisson_img.astype(np.float32), (3, 3))
    
    # # 中值滤波
    # img1 = cv2.medianBlur(noise_sp_img.astype(np.float32), 3)
    # img2 = cv2.medianBlur(noise_gs_img.astype(np.float32), 3)
    # img3 = cv2.medianBlur(noise_poisson_img.astype(np.float32), 3)
    
    # 高斯滤波
    img1 = cv2.GaussianBlur(noise_sp_img.astype(np.float32), (5, 5), 1)
    img2 = cv2.GaussianBlur(noise_gs_img.astype(np.float32), (5, 5), 3)
    img3 = cv2.GaussianBlur(noise_poisson_img.astype(np.float32), (5, 5), 1)
    
    
    # 图片可视化
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_sp_img)
    plt.title("salt and pepper noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.imshow(img1)
    plt.title("After filtering")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.imshow(noise_gs_img)
    plt.title("gaussian noise ")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img2)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.imshow(img0)
    plt.title("Original image")
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    
    
    plt.figure()
    plt.subplot(1, 3, 1)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(noise_poisson_img)
    plt.title("poisson noise ")
    plt.subplot(1, 3, 2)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img3)
    plt.title("After filtering")
    plt.subplot(1, 3, 3)
    plt.xticks([])  # 去掉x轴
    plt.yticks([])  # 去掉y轴
    plt.axis('off')  # 去掉坐标轴
    plt.imshow(img0)
    plt.title("Original image")
    
    plt.show()
    
    
    展开全文
  • 电源设计中最常见的四种滤波电路原理及特点解析

    千次阅读 多人点赞 2019-09-06 11:13:32
    引言 在整流电路输出的电压是单向脉动性电压,不能 直接给电子电路使用。所以要对输出的电压进行...滤波电路主要有下列几种:电容滤波电路,这是最 基本的滤波电路;π 型 RC 滤波电路;π 型 LC 滤波电 路;电子...

    引言

    在整流电路输出的电压是单向脉动性电压,不能 直接给电子电路使用。所以要对输出的电压进行滤波, 消除电压中的交流成分,成为直流电后给电子电路使 用。在滤波电路中,主要使用对交流电有特殊阻抗特性 的器件,如:电容器、电感器。本文对其各种形式的滤波 电路进行分析。

    一、滤波电路种类

    滤波电路主要有下列几种:电容滤波电路,这是最 基本的滤波电路;π 型 RC 滤波电路;π 型 LC 滤波电 路;电子滤波器电路。

    二、滤波原理

    1. 单向脉动性直流电压的特点

    如图 1(a)所示。是单向脉动性直流电压波形,从 图中可以看出,电压的方向性无论在何时都是一致的, 但在电压幅度上是波动的,就是在时间轴上,电压呈现 出周期性的变化,所以是脉动性的。

    但根据波形分解原理可知,这一电压可以分解一 个直流电压和一组频率不同的交流电压,如图 1(b)所 示。在图 1(b)中,虚线部分是单向脉动性直流电压 U。 中的直流成分,实线部分是 UO 中的交流成分。

    在这里插入图片描述

    2. 电容滤波原理

    根据以上的分析,由于单向脉动性直流电压可分 解成交流和直流两部分。在电源电路的滤波电路中,利 用电容器的“隔直通交”的特性和储能特性,或者利用 电感“隔交通直”的特性可以滤除电压中的交流成分。 图 2 所示是电容滤波原理图。

    图 2(a)为整流电路的输出电路。交流电压经整流 电路之后输出的是单向脉动性直流电,即电路中的 UO。

    图 2(b)为电容滤波电路。由于电容 C1 对直流电 相当于开路,这样整流电路输出的直流电压不能通过C1 到地,只有加 到负载 RL 图为 RL 上。对于整流电路 输出的交流成分, 因 C1 容量较大, 容抗较小,交流成 分通过 C1 流到地 端,而不能加到负 载 RL。这样,通过 电容 C1 的滤波, 从单向脉动性直 流电中取出了所 需要的直流电压 +U。

    滤波电容 C1 的容量越大,对交流成分的容抗越 小,使残留在负载 RL 上的交流成分越小,滤波效果就 越好。
    在这里插入图片描述
    3. 电感滤波原理

    图 3 所示是电感滤波原理图。由于电感 L1 对直流 电相当于通路,这样整流电路输出的直流电压直接加 到负载 RL 上。
    在这里插入图片描述
    对于整流电路输出的交流成分,因 L1 电感量较大,感抗较大,对交流成分产生很大的阻碍作用,阻止 了交流电通过 C1 流到加到负载 RL。这样,通过电感 L1 的滤波,从单向脉动性直流电中取出了所需要的直 流电压 +U。

    滤波电感 L1 的电感量越大,对交流成分的感抗越 大,使残留在负载 RL 上的交流成分越小,滤波效果就 越好,但直流电阻也会增大。

    三、π 型 RC滤波电路识图方法

    图 4 所示是 π 型 RC 滤波电路。电路中的 C1、C2 和 C3 是 3 只滤波电容,R1 和 R2 是滤波电阻,C1、R1 和C2 构成第一节 π 型的 RC 滤波电路, C2、 R2 和 C3 构成 第二节 π 型 RC 滤波电路。由于这种滤波电路的形式 如同希腊字母 π 和采用了电阻器、电容器,所以称为 π 型 RC 滤波电路。
    在这里插入图片描述
    π 型 RC 滤波电路原理如下:

    (1)这一电路的滤波原理是:从整流电路输出的电 压首先经过 C1 的滤波,将大部分的交流成分滤除,然 后再加到由 R1 和 C2 构成的滤波电路中。C2 的容抗与 R1 构成一个分压电路,因 C2 的容抗很小,所以对交流 成分的分压衰减量很大,达到滤波目的。对于直流电而 言,由于 C2 具有隔直作用,所以 R1 和 C2 分压电路 对直流不存在分压衰减的作用,这样直流电压通过 R1 输出。

    (2)在 R1 大小不变时,加大 C2 的容量可以提高滤 波效果,在 C2 容量大小不变时,加大 R1 的阻值可以提 高滤波效果。但是,滤波电阻 R1 的阻值不能太大,因为 流过负载的直流电流要流过 R1,在 R1 上会产生直流 压降,使直流输出电压 Uo2 减小。R1 的阻值越大,或流 过负载的电流越大时,在 R1 上的压降越大,使直流输 出电压越低。

    (3) C1 是第一节滤波电容,加大容量可以提高滤 波效果。但是 C1 太大后,在开机时对 C1 的充电时间 很长,这一充电电流是流过整流二极管的,当充电电流 太大、时间太长时,会损坏整流二极管。所以采用这种 π 型 RC 滤波电路可以使 C1 容量较小,通过合理设计 R1 和 C2 的值来进一步提高滤波效果。

    (4)这一滤波电路中共有 3 个直流电压输出端,分 别输出 Uo1、 Uo2 和 Uo3 三组直流电压。其中, Uo1 只经过电 容 C1 滤波; Uo2 则经过了 C1、 R1 和 C2 电路的滤波,所 以滤波效果更好, Uo2 中的交流成分更小; Uo3 则经过了 2 节滤波电路的滤波,滤波效果最好,所以 Uo3 中的交 流成分最少。

    (5) 3 个直流输出电压的大小是不同的。 Uo1 电压最 高,一般这一电压直接加到功率放大器电路,或加到需 要直流工作电压最高、工作电流最大的电路中; Uo2 电 压稍低,这是因为电阻 R1 对直流电压存在电压降; Uo3 电压最低,这一电压一般供给前级电路作为直流工作 电压,因为前级电路的直流工作电压比较低,且要求直 流工作电压中的交流成分少。

    四、π型 LC滤波电路识图方法

    图 5 所示是 π 型 LC 滤波电路。π 型 LC 滤波电 路与 π 型 RC 滤波电路基本相同。这一电路只是将滤波电阻换成滤波电感,因为滤波电阻对直流电和交流 电存在相同的电阻,而滤波电感对交流电感抗大,对直 流电的电阻小,这样既能提高滤波效果,又不会降低直 流输出电压。

    在图 5 的电路中,整流电路输出的单向脉动性直 流电压先经电容 C1 滤波,去掉大部分交流成分,然后 再加到 L1 和 C2 滤波电路中。
    在这里插入图片描述
    对于交流成分而言, L1 对它的感抗很大,这样在 L1 上的交流电压降 大,加到负载上的交 流成分小。

    对直流电而言, 由于 L1 不呈现感抗, 相当于通路,同时滤 波电感采用的线径较粗,直流电阻很小,这样对直流电 压基本上没有电压降,所以直流输出电压比较高,这是 采用电感滤波器的主要优点。

    五、电子滤波器识图方法

    1. 电子滤波器

    图 6 所示是电子滤波器。电路中的 VT1 是三极管, 起到滤波管作用, C1 是 VT1 的基极滤波电容, R1 是 VT1 的基极偏置电阻, RL 是这一滤波电路的负载, C2 是输出电压的滤波电容。
    在这里插入图片描述
    电子滤波电路工作原理如下:

    ①电路中的 VT1、 R1、 C1 组成电 子滤波器电路,这 一电路相当于一 只容量为 C1×β1 大小电容器,β1 为 VT1 的电流放 大倍数,而晶体管 的电流放大倍数 比较大,所以等效 电容量很大,可见 电子滤波器的滤 波性能是很好的。等效电路如图 6(b)所示。图中 C 为 等效电容。

    ②电路中的 R1 和 C1 构成一节 RC 滤波电路, R1 一方面为 VT1 提供基极偏置电流,同时也是滤波电阻。 由于流过 R1 的电流是 VT1 的基极偏置电流,这一电流 很小, R1 的阻值可以取得比较大,这样 R1 和 C1 的滤 波效果就很好,使 VT1 基极上直流电压中的交流成分 很少。由于发射极电压具有跟随基极电压的特性,这样 VT1 发射极输出电压中交流成分也很少,达到滤波的 目的。

    ③在电子滤波器中,滤波主要是靠 R1 和 C1 实现 的,这也是 RC 滤波电路,但与前面介绍的 RC 滤波电路是不同的。在这一电路中流过负载的直流电流是 VT1 的发射极电流,流过滤波电阻 R1 的电流是 VT1 基极电 流,基极电流很小,所以可以使滤波电阻 R1 的阻值 设得很大(滤波效果好),但不会使直流输出电压下降 很多。

    ④电路中的 R1 的阻值大小决定了 VT1 的基极电 流大小,从而决定了 VT1 集电极与发射极之间的管压 降,也就决定了 VT1 发射极输出直流电压大小,所以改 变 R1 的大小,可以调整直流输出电压 +V 的大小。

    2. 电子稳压滤波器
    在这里插入图片描述
    图 7 所示是另一种电子稳压滤波器,与前一种电 路相比,在 VT1 基极与地端之间接入了稳压二极管 VD1。电子稳压原理如下:

    在 VT1 基极 与地端之间接入 了稳压二 极 管 VD1 后,输入电 压经 R1 使稳压 二极管 VD1 处于 反向偏置状态,此时 VD1 的稳压特性使 VT1 管的基极 电压稳定,这样 VT1 发射极输出的直流电压也比较稳 定。注意:这一电压的稳定特性是由于 VD1 的稳压特性 决定的,与电子滤波器电路本身没有关系。

    R1 同时还是 VD1 的限流保护电阻。在加入稳压二 极管 VD1 后,改变 R1 的大小不能改变 VT1 发射极输出电压大小,由于 VT1 的发射结存在 PN 结电压降,所以 发射极输出电压比 VD1 的稳压值略小。

    C1、 R1 与 VT1 同样组成电子滤波器电路,起到滤波作用。

    在有些场合下,为了进一步提高滤波效果,可采用 双管电子滤波器电路, 2 只电子滤波管构成了复合管 电路。这样总的电流放大倍数为各管电流放大倍数之 积,显然可以提高滤波效果。

    六、电源滤波电路识图小结

    关于电源滤波电路分析主要注意以下几点:

    (1)分析滤波电容工作原理时,主要利用电容器的 “隔直通交”特性,或是充电与放电特性,即整流电路输 出单向脉动性直流电压时对滤波电容充电,当没有单 向脉动性直流电压输出时,滤波电容对负载放电。

    (2)分析滤波电感工作原理时, 主要是认识电感器对 直流电的电阻很小、 无感抗作用, 而对交流电存在感抗。

    (3)进行电子滤波器电路分析时,要知道电子滤波 管基极上的电容是滤波的关键元件。另外,要进行直流 电路的分析,电子滤波管有基极电流和集电极、发射极 电流,流过负载的电流是电子滤波管的发射极电流,改 变基极电流大小可以调节电子滤波管集电极与发射极 之间的管压降,从而改变电子滤波器输出的直流电压 大小。

    (4)电子滤波器本身没有稳压功能,但加入稳压二 极管之后可以使输出的直流电压比较稳定。

    展开全文
  • 在上一章内容中,介绍了两比较常用,而且简单的滤波器;在这一章里,要引入一个比较复杂的滤波器——锐化滤波。要弄懂锐化滤波需要先弄懂梯度、以及拉普拉斯算子,由于我已经在其他文章里介绍过了,所以在这里我不...
  • 种滤波方式

    千次阅读 2018-08-30 14:00:00
    均值滤波,是最简单的一种滤波操作,输出图像的每一个像素是核窗口内输入图像对应像素的像素的平均值( 所有像素加权系数相等),其实说白了它就是归一化后的方框滤波。 下面开始讲均值滤波的内容吧。 ⑴均值滤波的...
  • 在图像处理中,滤波是一非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。 4.2 学习目标 了解图像滤波的分类...
  • 几种常见窗函数及其特性

    千次阅读 2020-06-12 23:09:04
    几种常见窗函数的特性greedyhao一个高级的搬运工​关注他12 人赞同了该文章解决一下上一篇的遗留问题上一篇谈了FIR滤波器的加窗是什么,但是自觉得还是有些地方没有说明白,就好比模拟加窗过程都没有讲明白。...
  • 滤波电路主要有下列几种:电容滤波电路,这是最基本的滤波电路;π 型 RC 滤波电路;π 型 LC 滤波电路;电子滤波器电路。 二、滤波原理 单向脉动性直流电压的特点 如图 1(a)所示。是单向脉动性直流电压波形,从图...
  • 为什么要对信号加窗:... 几种常见窗函数的特性 ...
  • 常见的电容器有以下几种: 1、铝电解电容器  用浸有糊状电解质的吸水纸夹在两条铝箔中间卷绕而成,薄的化氧化膜作介质的电容器.因为氧化膜有单向导电性质,所以电解电容器具有极性.容量大,能耐受大的脉动电流容量...
  • 原标题:常见滤波电路分析技巧在整流电路输出的电压是单向脉动性电压,不能直接给电子电路...滤波电路种类滤波电路主要有下列几种:电容滤波电路,这是最基本的滤波电路;π 型 RC 滤波电路;π 型 LC 滤波电路;电...
  • 滤波电路主要有下列几种:电容滤波电路,这是最基本的滤波电路;π型RC 滤波电路;π型LC 滤波电路;电子滤波器电路。 滤波原理 1. 单向脉动性直流电压的特点 如图 1(a)所示。是单向脉动性直流电压波形,从图中...
  • 通常有以下几种办法来进行处理: (black) (wrap around) (copy edge) (reflectacross edge) 除了在实域进行滤波之外,在频域也可以进行滤波。傅里叶变换保存每个频率对于的幅度和相位信息,...
  • 通常有以下几种办法来进行处理:   (black) (wrap around) (copy edge) (reflectacross edge)   除了在实域进行滤波之外,在频域也可以进行滤波。傅里叶变换保存每个频率对于的幅度和相位信息,其中...
  • 图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了“方框滤波“,”均值滤波“和”高斯滤波“三种常见线性邻域滤波操作。而作为非线性滤波的“中值滤波”和“双边滤波”,留待我们下次剖析。
  • 平滑滤波笔记

    万次阅读 2018-04-30 22:22:07
    平滑滤波有以下几种: 1. 算术平均滤波法 算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。这种信号的特点是信号本身在某一数值范围附近上下波动,如测量流量、液位时经常遇到这种情况。 算术平均...
  •  高斯滤波是一线性平滑滤波,适用于滤除高斯白噪声,已广泛应用于图像处理的预处理阶段。按照本人的理解,对图像进行高斯滤波就是对图像中的每个点的像素值计算,计算的准则是,由该点本身灰度值以及其邻域内的...
  • 本系列文章由@浅墨_毛星云 出品,转载...毛星云(浅墨) 邮箱: happylifemxy@163.com  写作当前博文时配套使用的OpenCV版本: 2.4.8本篇文章中,我们一起仔细探讨了OpenCV图像处理技术中比较热门的图像滤波操作。图
  • 常见几种滤波器的比较

    千次阅读 2017-04-18 21:24:34
    经典的数字滤波器有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器和贝塞尔滤波器等。...巴特沃斯滤波器的频率特性曲线,无论在通带内还是阻带内都是频率的单调函数。因此,当通带的边界处满足指标要求时,通带内肯定会有
  • 常用的5图像平滑处理操作方法: 1)方框滤波——boxFilter函数 2)均值滤波——blur函数 3)高斯滤波——GaussianBlur函数 4)中值滤波——medianBlur函数 5)双边滤波——bilateralFilter函数 前三种都属于...
  • ...本篇文章中,我们一起仔细...图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了“方框滤波“,”均值滤波“和”高斯滤波“三种常见线性邻域滤波操作。而作为非线性滤波的“中值滤波
  • 几种常见的预测模型

    万次阅读 多人点赞 2018-03-26 16:14:42
    几种常见的预测模型1.趋势外推预测方法趋势外推预测方法是根据事物的历史和现实数据,寻求事物随时间推移而发展变化的规律,从而推测其未来状况的一种常用的预测方法。 趋势外推法的假设条件是: (1)假设事物发展...
  • 图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了“方框滤波”,“均值滤波”,“高斯滤波”三种常见的邻域滤波操作。而作为非线性滤波的“中值滤波”和“双边滤波”,我们下次再分析。 因为...
  • OPENCV 滤波

    千次阅读 2013-08-03 18:36:53
    一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等.椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪声).与前两者不同,高斯噪声含有...

空空如也

空空如也

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

常见的几种滤波特性