OpenCV cvLoadImage () не загружает изображения в отладчике Visual Studio?

Я пытаюсь разработать простое привет мир для OpenCV, но заканчиваюсь идеи относительно того, почему он не работает.

Когда я компилирую и выполняю этот код:

#include <cv.h>
#include <highgui.h> 
int main(int argc, char* argv[])
{
 IplImage* img = cvLoadImage( "myjpeg.jpg" );
 cvNamedWindow( "MyJPG", CV_WINDOW_AUTOSIZE );
 cvShowImage("MyJPG", img);
 cvWaitKey(0);
 cvReleaseImage( &img );
 cvDestroyWindow( "MyJPG" );
 return 0;
}

Я получаю серое поле о 200x200 вместо обозначенного .jpg файла. Если я использую другой jpg, я получаю тот же вид окна, и если я вставил недопустимое имя файла, я (ожидал) очень крошечное окно.

Я использую Visual Studio 2008 в соответствии с Windows 7 Professional.

Большинство примеров программ, кажется, хорошо работает, таким образом, я вдвойне смущен, как тот код загружает образец jpgs очень хорошо, но в коде выше его не работает (даже попробовал образец jpeg).

Обновление

Исполняемые файлы, произведенные компиляцией, хорошо работают, однако отладчик Visual Studio 2008 года загружает нулевого указателя в img каждый раз, когда я пытаюсь выполнить отладчик - независимо, если расположение файла является неявным или явным.

6
задан bitmask 22 August 2012 в 17:24
поделиться

3 ответа

Это действительно похоже, что есть проблема с пути к myjpeg.jpg , поскольку текущий каталог может быть отличным, когда вы работаете под отладчиком.

По умолчанию текущий каталог, который использует отладчик Visual Studio, является каталог, содержащий файл .vcproj . Vcproj .

Вы на 100% уверены, что вы правильно проехаете абсолютный путь? Попробуйте пройти тот же путь к Fopen и посмотрите, возвращается ли он NULL . Если это так, то путь неверный.

Если вы хотите точно видеть, какой файл является библиотекой, пытаясь открыть, вы можете использовать монитор проекта с фильтром myjpeg.jpg .

8
ответ дан 10 December 2019 в 02:47
поделиться

Какая версия OpenCV вы используете? Я попробовал ваш код на последнем (OpenC2.0), и он работает нормально. Вы можете скачать OpenCv2.0 из здесь .

Если вы хотите, чтобы последняя сборка, вы можете получить чек с SVN из здесь .

1
ответ дан 10 December 2019 в 02:47
поделиться

Попытка добавить HAVE_JPEG в определения препроцессора.

0
ответ дан 10 December 2019 в 02:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: