TypeError: Expected Ptr<cv::UMat> for argument 'src' エラーの対処法
OpenCVのremap関数を用いた際にこのエラーが出た。
具体的には
warped_img2 = cv2.remap(image1, flow, None, cv2.INTER_LINEAR)
の様なコードだ。
色々調べた結果、入力が間違っている可能性があることがわかった。
自分の場合は例えば
print(flow_up.shape)
の出力は
torch.Size([1, 2, 240, 416])
となっており、pytorchのtensorを入力としてしまっていた。
またC、H、Wの順番も間違っていた。
flow = flow.squeeze().cpu().numpy().transpose(1,2,0)
image1 = image1.squeeze().cpu().numpy().transpose(1,2,0)
を行う事で例えばflowは
(240, 416, 2)
になり、エラーも出なくなった。