Domanda

Ciao ho un MacBook Pro con OSX 10.7. Ho appena installato Qt (Nokia), OpenCV, cmake. Non ho mai lavorato con uno dei rischi. Così ho iniziato il mio primo tutorial. Ho creato una nuova applicazione GUI Qt. Ho cambiato il mio main.cpp a:

#include <QtGui/QApplication>
#include <opencv/cv.h>
#include <opencv/highgui.h> 
#include "mainwindow.h"

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   MainWindow w;
   w.show();

   IplImage* img = 0;
   img = cvLoadImage("cat.jpg");
   cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
   cvShowImage("Example1", img);
   cvWaitKey(0);
   cvReleaseImage(&img);
   cvDestroyWindow("Example1");

   return a.exec();

}

Ho cambiato anche il mio file .pro:

QT       += core gui

TARGET = untitled1
TEMPLATE = app


INCLUDEPATH = /usr/local/include

SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

LIBS += -lm -lopencv_core -lopencv_highgui -lopencv_video -lopencv_imgproc

FORMS    += mainwindow.ui

Per il resto:

il cat.jpg si trova nella cartella del progetto qt (accanto al main.cpp)

Ora, quando costruisco questo ed eseguirlo. ottengo questo errore:

Starting /Users/olivierjanssens/untitled1-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK__Debug/untitled1.app/Contents/MacOS/untitled1...
OpenCV Error: Null pointer (NULL array pointer is passed) in cvGetMat, file /Users/olivierjanssens/source/OpenCV-2.3.1/modules/core/src/array.cpp, line 2382
terminate called throwing an exceptionThe program has unexpectedly finished.
/Users/olivierjanssens/untitled1-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK__Debug/untitled1.app/Contents/MacOS/untitled1 exited with code 0

La finestra si apre, ma poi si blocca e nessuna immagine viene visualizzata.

Che cosa sono io che faccio male?

È stato utile?

Soluzione

cat.jpg non è probabilmente nella directory giusta.

Se non si specifica un percorso che ricerca la directory corrente, che è probabilmente /Users/olivierjanssens/untitled1-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK__Debug o /Users/olivierjanssens/untitled1-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK__Debug/untitled1.app/Contents/MacOS. La directory con main.cpp in esso non viene cercato.

Prova fornire un percorso completo per cvLoadImage() (qualcosa come "/Users/olivierjanssens/untitled1/cat.jpg")

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