【发布时间】:2014-06-27 08:23:13
【问题描述】:
我正在用 Python 语言重写 Matlab 的代码。
在 Matlab 代码中,我有这个函数:gt= interp2(I(:,:,i)',xi,yi,'cubic')';,其中I 是 RGB 图像,xi 和yi 是具有相同形状定义 x 和 y 坐标的 2D 矩阵。
在我为边界外的值设置gt(isnan(gt))=0; 之后。
该函数在Matlab上运行完美。
在Python中我写了如下代码:gt=interpolate.interp2d(x,y,img.T,kind='cubic',fill_value=0),其中x和y与Matlab中的xi和yi相同,img是灰度图像。
无论如何,我得到以下异常:"Invalid length for input z for non rectangular grid")
ValueError: Invalid length for input z for non rectangular grid"。
怎么了?
非常感谢。
【问题讨论】:
-
我不知道您的代码有什么问题,但过去我将
interp2移植到scipy 为interpolate.RectBivariateSpline而不是interpolate.interp2d。但我发现,与其将X和Y作为meshgrid的矩阵输出,它只需要单行单列向量。
标签: python matlab numpy scipy interpolation