我正在尝试使用 Python cupyx.scipy.ndimage map_coordinates 函数将像素值从一个图像映射到 gpu 上的另一个图像。输出cupy-array全为零。当我使用 scipy.ndimage 运行它的 map_coordinates 时,我得到了插值数组。为什么会发生以及如何解决?
与问题相关的一段代码:
tform = PiecewiseAffineTransform()
tform.estimate(match_p_src, match_p_dst)
warp_coor = warp_coords(tform.inverse, (n_rows, n_cols))
dst_cols = np.reshape(warp_coor[0], (n_rows*n_cols, 1))
dst_rows = np.reshape(warp_coor[1], (n_rows*n_cols, 1))
image_warp = scipy.ndimage.map_coordinates(image, [dst_cols, dst_rows])
image_warp = np.reshape(image_warp, (n_rows, n_cols))
d_image = cp.asanyarray(image)
d_image_warp = cp.ndarray((n_rows*n_cols, 1), dtype=cp.uint16)
cupyx.scipy.ndimage.map_coordinates(d_image, cp.asanyarray([dst_cols, dst_rows]), output=d_image_warp)
d_image_warp = cp.reshape(d_image_warp, (n_rows, n_cols))
谢谢!