我正在尝试使用scipy的curve_fit来计算两个灰度图像之间的x和y偏移,作为2-D numpy ndarray。但是,这要求我提供的函数参数curve_fit需要整数参数。
所以我有一个带有三个参数的函数:一个扁平数组,以及两个轴的偏移量。它正确完成偏移并为所有整数偏移返回一个重新展平的数组,但curve_fit总是返回p0。
是否可以使curve_fit使用整数参数?
答案 0 :(得分: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