python中等高线图的高阶插值

时间:2013-12-01 13:45:49

标签: python matplotlib interpolation spline spatial-interpolation

您是否有人了解Python中2D轮廓的高阶插值方法(Catmull-Rom样条曲线,三次插值等)?

Skimage,Matplotlib和OpenCV分别提供函数measure.find_contours(),contours()和findContours(),但都是基于线性插值(也称为行进方块),我正在寻找更高的东西Python的准确性,最好是。任何指针都将受到高度赞赏。

https://www.dropbox.com/s/orgr2yqhbbk2xnr/test.PNG

在上图中,我试图从f(x,y)= x ^ 3 + y ^ 3的标量场中提取iso值25。我正在寻找6个点,其精度要比线性插值给出的6个红点更好。

1 个答案:

答案 0 :(得分:0)

对于非结构化的2d数据(或三角化数据),您可能会对以下类感兴趣:

http://matplotlib.org/api/tri_api.html?highlight=cubictriinterpolator#matplotlib.tri.CubicTriInterpolator

提供来自用户定义的Triangulation的Clough-Tocher(立方)内插器和在三角测量节点处定义的字段。它也可以通过辅助类UniformTriRefiner使用:

http://matplotlib.org/api/tri_api.html?highlight=refine_field#matplotlib.tri.UniformTriRefiner.refine_field http://matplotlib.org/mpl_examples/pylab_examples/tricontour_smooth_user.png

然而,自适应插值的选择取决于您的数据集。