У меня есть этот код для создания и записи изображения в OpenCV:Невозможно прочитать/записать изображение в OpenCV
char * outImage="C:/tmp/000014/outimage.jpg";
Mat gray_image(imageWidth,imageHeight, CV_8UC1, Scalar(255));
imwrite(outImage, gray_image);
, но когда я бегу thid код, я получаю сообщение об ошибке, что расширение файла не известно и, следовательно, iwrite не может писать изображение.
Что не так с этим кодом?
edit1
Я изменил код, чтобы увидеть, есть проблема с кодом или установки. поэтому у меня есть этот код прямо сейчас
Mat x=imread("C:/tmp/a.jpg");
imshow("Image", x);
waitKey(0);
Я уверен, что файл с: /tmp/a.jpg существует.
При запуске приложения, я получаю эту ошибку:
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in unknown function, file C:\slave\builds\WinInstallerMegaPack\src\opencv\modules\core\src\array.cpp, line 2482
C:\slave\builds\WinInstallerMegaPack\src\opencv\modules\core\src\array.cpp:2482: error: (-206) Unrecognized or unsupported array type
Я последовал за этот ответ так, чтобы установить OpenCV о моей системе (я использую VC11, insteade из VC10 во время установки) Installing OpenCV 2.4.3 in Visual C++ 2010 Express
редактировать 2
проблема заключалась в том, что я смешал отладки и выпуска библиотеки,
Для библиотек высвобождения используют выпуск, которые не имеют d в конце (например opencv_calib3d243.lib вместо од opencv_calib3d243d.lib)
для отладки использовать библиотеки отладки, который D в конце, например opencv_calib3d243d.lib
Убедитесь, что вы используете правильное имя lib на основе версии opencv, которую у вас есть, например opencv_calib3d245d.lib for opencv 2.4.5.
Спасибо. Я проверил установку, и кажется, что это правильно. Где библиотека jpeg на окнах? – mans