Вопрос

Я пытаюсь загрузить изображение JPEG с помощью функции cvLoadImage , и это не удается. Я получаю вывод "изображение не загружено" (см. код ниже). Однако появляется окно, но нет изображения. При попытке загрузить png-изображения операция cvLoadImage прошла успешно, то есть картинка отображается в окне. Есть ли пакет, который я мог бы пропустить или что я делаю не так?

Я использую openCV в Ubuntu.

IplImage* img = NULL;

if( argc > 1 )
    img = cvLoadImage(argv[1], 1);

if(img == 0)
    printf("image not loaded \n")
Это было полезно?

Решение

Jpeg нормально загружается под OpenCv, я только что проверил. Проверьте, что вы получили

<Ол>
  • правильный путь
  • что изображение, которое вы загружаете, на самом деле является JPEG (или какой-то формат, фактически поддерживаемый opencv.)
  • Другие советы

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

    Общая конфигурация ================================================== ===

    CXX:                      g++
    CXXCPP:                   g++ -E
    CPPFLAGS:                 
    CXXFLAGS:                 
    LDFLAGS:                  
    
    Install path:             /usr/local
    
    Debug flags                
    Optimization flags        -DNDEBUG -O3 -g -march=pentium4 -ffast-math -fomit-frame-pointer
    MMX/SSE/SSE2/SSE3:         -mmmx -msse -msse2 -msse3
    OpenMP support:           -fopenmp
    External BLAS & LAPACK:   no
    

    Конфигурация HighGUI ================================================== ===

    Windowing system --------------
    Use Carbon / Mac OS X:    no
    Use gtk+ 2.x:             yes
    Use gthread:              yes
    
    Image I/O ---------------------
    Use ImageIO / Mac OS X:   no
    Use libjpeg:              yes
    Use zlib:                 yes
    Use libpng:               yes
    Use libtiff:              no
    Use libjasper:            no
    Use libIlmImf/OpenEXR:    no
    
    Video I/O ---------------------
    Use QuickTime / Mac OS X: no
    Use xine:                 no
    Use gstreamer:            no
    Use ffmpeg:               no
    Use dc1394 & raw1394:     no
    Use v4l:                  yes
    Use v4l2:                 yes
    Use unicap:               no
    

    Оболочки для других языков ========================================

    SWIG                      
    Python                    no
    Octave                    no
    

    Дополнительные настройки сборки =================================================

    Build demo apps           yes
    

    Теперь запустите make ...

    Я перестроил openCV и изменил права пользователя root вместо того, чтобы вводить sudo. Теперь файлы JPG могут быть открыты. Возможно, я потерял sudo 'где-то при установке процедуры openCV, что привело к некоторому несоответствию.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top