Я делаю преобразования между плавающей точкой OpenCV и 8-битным форматом изображения, и я просто не понимаю, почему это не работает.
cv::Mat gray;
for (float g = 0; g < 10; g++)
{
gray.push_back(g);
}
// All good, values between (0,9 )
cv::normalize(gray, gray, 0, 1, cv::NORM_MINMAX); //Still fine, all is between (0,1)
cv::Mat gray_8bit;
gray.convertTo(gray_8bit, CV_8UC1, 255); //gray_8bit is complete bogus with nans and what not.
Я просто не понимаю, почему не работает последнее преобразование? Я попытался заменить CV_8UC1 на CV_32F, и точно так же, как вы думаете, выходной серый_8bit будет между 0-255