我有一个带有高度等高线的地形图,并希望使用 scipy.interpolate.griddata 从中生成一个高度图(每个单元格的高度为值的网格)。我的想法是将等高线的点作为非结构化数据点添加到插值算法中,并询问整个网格的插值(高度)。
出于某种原因,griddata() 返回的网格大多不在两条等高线之间插值,并且两条等高线之间的网格点获得较低的值,而不是两条等高线值之间的值。
下面是我的示例 20x20 图像,带有轮廓线(左)和生成的插值网格(1000x1000)。只有来自等高线的非零值(非黑色像素)用作插值的输入。“最近”、“线性”和“三次”插值方法也存在同样的问题。有什么想法为什么我不能得到我期望的高度图?
源代码可以在这里找到 - http://pastebin.com/umNmSrE2
更新:问题解决了。实际上错误的输入图像是问题所在(请参阅下面的评论)。新结果是: