У меня есть cv :: Mat типа CV_32SC3, он хранит как положительные, так и отрицательные значения.
При преобразовании в тензор значения меняются:
cout << in_img << endl;
auto tensor_image = torch::from_blob(in_img.data, {1, in_img.rows, in_img.cols, 3}, torch::kByte);
In_img имеет отрицательные значения, тогда как после распечатки tensor_image все значения полностью отличаются от in_img.
отрицательные значения исчезли (это как-то нормализует диапазон 255). Я пробовал конвертировать в Long вот так:
auto tensor_image = torch::from_blob(in_img.data, {1, in_img.rows, in_img.cols, 3}, torch::kLong);
но когда я печатаю такие значения, я получаю ошибку seg:
std::cout << "tensor_image: " << tensor_image << " values." << std::endl;
Итак, я попытался посмотреть только на первый элемент вот так:
std::cout << "input_tensor[0][0][0][0]: " << tensor_image[0][0][0][0] << " values." << std::endl;
и значение не такое, как я вижу в реализации на Python: ((
in_img
имеет типcv::Mat
? - person Pranav Vempati   schedule 20.02.2021