Domanda

Sto provando a caricare un'immagine JPEG usando la funzione cvLoadImage e fallisce. Ottengo l'output "immagine non caricata" (vedi il codice sotto). Tuttavia viene visualizzata una finestra ma nessuna immagine. Quando si tenta di caricare immagini png, l'operazione cvLoadImage ha esito positivo, ovvero l'immagine viene presentata in una finestra. Esiste un pacchetto che potrebbe mancare o cosa sto facendo di sbagliato?

Sto usando openCV su Ubuntu.

IplImage* img = NULL;

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

if(img == 0)
    printf("image not loaded \n")
È stato utile?

Soluzione

Il carico di Jpeg va bene sotto OpenCv, l'ho appena verificato. Controlla che hai

  1. il percorso corretto
  2. che l'immagine che stai caricando è in realtà jpeg (o una sorta di formato effettivamente supportato da opencv.)

Altri suggerimenti

In realtà il percorso è corretto. Non so se è il modo in cui sto costruendo OpenCV che non è corretto:

Configurazione generale ============================================= ===

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

Configurazione 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

Wrapper per altre lingue =========================================

SWIG                      
Python                    no
Octave                    no

Impostazioni di build aggiuntive ============================================

Build demo apps           yes

Ora esegui make ...

Ho ricostruito openCV e ho cambiato utente root quando lo faccio invece di digitare sudo. Ora è possibile aprire i file jpg. Potrei aver perso il sudo 'da qualche parte nell'installazione della procedura openCV in precedenza, il che porta a qualche discrepanza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top