2014-02-19 2 views
4

Я хочу реализовать аналогичную функцию, как показано ниже, используя opencv.Как читать изображение как двойное в OpenCV?

image=double(imread('mask.jpg')); 

Я реализовал что-то вроде этого. Как преобразовать это в двойное.

cv::Mat image= imread(arg[1]); 

где arg[1] содержит мое изображение, которое должно быть сохранено в Mat изображения в два раза. Как это реализовать.

+2

использовать это? image.convertTo (изображение, CV_64FC1); – azer89

+0

Он не читает изображение как двойное. Изображение читается как uint8, затем преобразуется в double, что можно сделать, как прокомментировал azer89. –

+0

Можно ли считать изображение двойным напрямую. Если я сделаю вышеописанный шаг, мне нужно создать два объекта Mat прямо? – kadu

ответ

9

Вы ищете Mat::convertTo().

  • Для полутонового изображения:

    image.convertTo(image, CV_64FC1); 
    
  • Для цветного изображения:

    image.convertTo(image, CV_64FC3); // or CV_64FC4 for 4-channel image 
    
Смежные вопросы