如何在Julia中生成一维高斯滤波器?

时间:2019-09-20 13:26:34

标签: julia

我有一个要使用高斯滤波器进行过滤的数组,类似于Python中的scipy.ndimage.filter.gaussian_filter1d

哪种软件包最适合此方法,我将如何使用它?

2 个答案:

答案 0 :(得分:4)

在Julia中,ImageFiltering.jl软件包可以帮助您做到这一点。

您可以使用ker = ImageFiltering.Kernel.gaussian((3,))构建一维高斯核(将元组传递给代表所需输出的维)。

然后,如果data中有一个数据数组,则可以通过以下方式执行过滤操作:

newdata = imfilter(data, ker)

如果要进行就地过滤,则还有imfilter!

答案 1 :(得分:2)

除了Kernel.gaussian((σ,)),还有KernelFactors.IIRGaussian((σ,)), 它构造了一个对高斯的无限脉冲响应近似值。当σ很大时,这对于非常快速的近似高斯滤波很有用。