问题描述
我在下面有这个代码片段:
def transformation(x,*args):
static = args[0]
moving = args[1]
height = len(moving)
width = len(moving[0])
theta = x[0]
tx = x[1]
ty = x[2]
moving = ndimage.rotate(moving,theta,reshape=False)
moving = ndimage.shift(moving,[tx,0])
moving = ndimage.shift(moving,[0,ty])
return float(np.sum((np.array(static) - np.array(moving)) ** 2) / (height * width))
if __name__ == '__main__':
static = imread('./Image_20449.tif')
moving = imread('./Image_20450.tif')
static[static < 262] = 0
moving[moving < 262] = 0
#40,-124,263
rs = optimize.minimize(transformation,np.array([40,-125,250]),args=(static,moving),method='Powell')
print(rs.x)
- 静态和移动是图像 (2x2) 矩阵
- static[static
- 我正在尝试找到优化转换中概述的 SSD 功能的 theta、tx 和 ty 变量
- 我希望使用 scipy.optimize.minimize 完成上述操作
我的代码可以运行,但输出总是与我最初的猜测非常相似。它没有找到最佳答案。有人可以帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)