Текущая версия OpenCV не поддерживает формат файла, который вы пытаетесь создать на диске.
Проверьте правильность расширения файла.Если это так, вам придется перекомпилировать OpenCV и добавить поддержку этого формата и, возможно, установить недостающие библиотеки.
Это все, что можно сказать без дополнительной информации.
РЕДАКТИРОВАТЬ:
Поскольку мне также не удалось создать приложение, использующее интерфейс C ++ OpenCV (v2.3 на VS2005), я использовал следующий обходной путь: преобразование типов C ++ в типы Cкогда это необходимо.
Преобразовать из IplImage*
в cv::Mat
довольно просто:
IplImage* ipl_img = cvLoadImage("test.jpg", CV_LOAD_IMAGE_UNCHANGED);
Mat mat_img(ipl_img);
imshow("window", mat_img);
Преобразование cv::Mat
в IplImage*
не так очевидно, но такжепросто, и хитрость заключается в использовании IplImage
вместо IplImage*
:
IplImage ipl_from_mat((IplImage)mat_img);
cvNamedWindow("window", CV_WINDOW_AUTOSIZE);
// and then pass the memory address of the variable when you need it as IplImage*
cvShowImage("window", &ipl_from_mat);