2

我正在尝试使用 scipy 的 curve_fit 来计算两个灰度图像之间的 x 和 y 偏移量作为二维 numpy ndarrays。但是,这要求我提供的函数的参数 curve_fit 需要整数参数。

所以我有一个接受三个参数的函数:一个扁平数组,以及沿两个轴的偏移量。它正确完成偏移并为所有整数偏移返回一个重新展平的数组,但curve_fit总是返回p0。

是否可以让 curve_fit 与整数参数一起工作?

4

1 回答 1

0

这里一种可能的方法可能是定义两个浮点偏移的函数,该函数在整数点之间执行插值:

def func_orig(xint,yint):
    ....

def func_new(x,y):
    x1 = int(x)
    y1 = int(y)
    x2 = x1 + 1
    y2 = y1 + 1
    val = func_orig(x1,y1) * (x2-x)*(y2-y)+
          func_orig(x1,y2) * (x2-x)*(y1-y)+
          func_orig(x2,y1) * (x1-x)*(y2-y)+
          func_orig(x2,y2) * (x1-x)*(y1-y)
    val = val / (x2-x1)/(y2-y1)
    return val
于 2013-10-04T22:04:27.720 回答