scipy一维卷积函数convolve1d

文章目录

基本原理

卷积是一种积分变换方法,可理解为滑动平均的推广,在连续函数和数列上的定义分别为

f ( t ) ∗ g ( t ) = ∫ f ( τ ) g ( t − τ ) d τ x ( n ) ∗ h ( n ) = ∑ x ( i ) h ( n − i ) f(t)*g(t) = \int f(\tau)g(t-\tau)\text d\tau\\ x(n)*h(n) = \sum x(i)h(n-i) f(t)∗g(t)=∫f(τ)g(t−τ)dτx(n)∗h(n)=∑x(i)h(n−i)

convolve1d函数

scipy的ndimage模块提供了convolve1d函数,顾名思义用于1维卷积计算,其输入参数如下

python 复制代码
scipy.ndimage.convolve1d(input, weights, axis=-1, output=None, mode='reflect', cval=0.0, origin=0)

其中,mode用以调节卷积后边缘填充的数值,具体情况如下表所示,其中k即为cval参数。

左侧填充 数据 右侧填充
reflect d , c , b , a d, c, b, a d,c,b,a a , b , c , d a, b, c, d a,b,c,d d , c , b , a d, c, b, a d,c,b,a
constant k , k , k , k k, k, k, k k,k,k,k a , b , c , d a, b, c, d a,b,c,d k , k , k , k k, k, k, k k,k,k,k
nearest a , a , a , a a, a, a, a a,a,a,a a , b , c , d a, b, c, d a,b,c,d d , d , d , d d, d, d, d d,d,d,d
mirror d , c , b d, c, b d,c,b a , b , c , d a, b, c, d a,b,c,d c , b , a c, b, a c,b,a
wrap a , b , c , d a, b, c, d a,b,c,d a , b , c , d a, b, c, d a,b,c,d a , b , c , d a, b, c, d a,b,c,d

实战

下面实战演示一下不同模式的填充区别

python 复制代码
import numpy as np
n = np.arange(20)/2
x = np.sin(n)
h = [-2, -1, 0, 1, 2]

plt.plot(x)
plt.plot(y, label=m, marker='.', color='r')
for m in ["reflect", "constant", "nearest", "mirror", "wrap",]:
    y = sn.convolve1d(x, h, mode=m, cval=2)
    plt.plot(y, label=m)

plt.legend()
plt.grid()
plt.show()

得到图像

相关推荐
拾贰_C8 天前
【python | pytorch | scipy】scipy scikit-learn库相互依赖?
pytorch·python·scipy
拾贰_C8 天前
【python | pytorch | warehouse】python库scipy与scikit-learn库不兼容?
pytorch·python·scipy
聊询QQ:6882388614 天前
COMSOL 实现变压器二维模型电磁 - 流 - 热耦合仿真
scipy
F_D_Z17 天前
感受野:两个3x3等于一个5x5
卷积·卷积核·感受野
背心2块钱包邮23 天前
第3节——differentiation rules(求导法则)
人工智能·python·matplotlib·scipy
咨询QQ6882388625 天前
自动泊车最优路径:MATLAB 与 RRT 算法及 Reeds 曲线的奇妙组合
scipy
猫头虎1 个月前
如何解决pip install网络报错SSLError: TLSV1_ALERT_PROTOCOL_VERSION(OpenSSL过旧)问题
网络·python·scrapy·pycharm·beautifulsoup·pip·scipy
雨洛lhw2 个月前
卷积运算全解析:从原理到MATLAB实现
数字信号处理·卷积
MoRanzhi12033 个月前
SciPy傅里叶变换与信号处理教程:数学原理与Python实现
python·机器学习·数学建模·数据分析·信号处理·傅里叶分析·scipy
小幸福5203 个月前
用Python实现自动化文章标题生成的最佳实践
scipy