【问题标题】:scipy curve_fit with integer parameters带有整数参数的 scipy curve_fit
【发布时间】:2013-10-12 00:46:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: python numpy scipy


    【解决方案1】:

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

    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
    

    【讨论】:

    • 我可以试试这个,但我认为它在 1048x1048 图像上可能有点慢。你认为这会很好地使用 scipy 的插值方法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-07-12
    • 2016-03-12
    • 2013-07-30
    • 2017-04-08
    • 2021-07-13
    • 2017-10-08
    • 1970-01-01
    • 2021-02-16
    相关资源
    最近更新 更多