Я пытаюсь преобразовать изображение в оттенках серого в тип CV64F. Из документации OpenCv я понял, что изображение в градациях серого имеет тип CV_8U. Я также обнаружил, что imshow отображает разные типы по-разному, поэтому мне нужно разделить на 255 до преобразования. Но после преобразования изображения я получаю много насыщенных пикселей.OpenCV конвертировать CV_8U в CV_64F
Я использую этот файл, сохранить как JPG: http://www.ele.uri.edu/~hansenj/projects/ele585/lab2/cameraman.gif
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
#include <cstring>
#include <cmath>
int main()
{
Mat I, input_image;
string path = "C:/<your_path>/camera_man.jpg";
input_image = imread(path.c_str(), 0); // Read the file as grayscale
imshow("Original", input_image);
// Convert image to CV_64F
input_image *= (double) 1/255;
input_image.convertTo(I, CV_64F);
imshow("Converted", I);
}