我在将样条线插值的数学概念与python中的样条线过滤器的应用连接起来时遇到麻烦。我对样条插值的基本理解是,它以分段方式拟合数据,而拟合的分段多项式称为样条线。但是它在图像处理中的应用包括对图像进行预滤波然后执行插值,这让我很难理解。
举个例子,我想根据文档使用scipy.ndimage.map_coordinates(input, coordinates, prefilter=True)
和关键字prefilter
插入图像:
确定是否在插值之前用
spline_filter
对输入数组进行预过滤
scipy.ndimage.interpolation.spline_filter
的文档只是说输入是由样条滤波器过滤的。那么,样条滤波器到底是什么,它如何改变输入数据以允许样条插值?
我在这里有点猜测。为了计算二阶样条,您需要数据的一阶导数。要计算三阶样条,需要二阶导数。我没有实现超出三阶的插补电机,但是我想四阶和五阶样条曲线至少需要三阶和四阶导数。
而不是每次要执行插值时都重新计算这些导数,最好只计算一次。我的猜测是spline_filter正在对导数进行此预先计算,然后在以后用于插值计算。