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))
ありがとうございました!