PyTorchのC++ APIであるLibTorchのTensorとOpencvの行列を相互変換する方法.
torch::Tensor -> cv::Mat
- torch::Tensorをcv::Matに変換する例
- 例えば,128x128の1ch行列を変換するには以下のようにする.
cv::Mat mat(128,128, CV_32FC1, tensor. template data<float>());
cv::Mat -> torch::Tensor
- cv::Matをtorch::Tensorに変換する例
- torch::from_brobの第二引数には行列のshapeを渡す
std::vector<int64_t>shape = {1, height, width}; torch::Tensor tensor = torch::from_blob(mat.data, at::IntList(shape), at::ScalarType::Byte);