2017-07-21 3 views
0

J'essaie de lire l'image de la ressource.Qt Créateur: Lire une image à partir des ressources

Qt: 5.9.1 et OpenCV: 3.2

Mon code est:

// Set initial screen 
QImage image; 
cv::Mat src = cv::imread(":/images/initialScreen.png"); 
image = ImageFormat::Mat2QImage(src); 
videoFrameLabel->setPixmap(QPixmap::fromImage(image)); 

Et mes fichiers:

enter image description here

Mon fichier .pro:

QT  += core gui 
QT += widgets 
QT += gui 
CONFIG += c++14 
QT += multimedia multimediawidgets 
... 

SOURCES += \ 
     main.cpp \ 
     mainwindow.cpp \ 
    imageformat.cpp 

HEADERS += \ 
     mainwindow.h \ 
    imageformat.h \ 
    blob.h 

FORMS += \ 
     mainwindow.ui 

INCLUDEPATH += C:\opencv\build\include 
LIBS += C:\opencv-build\bin\libopencv_video320.dll 
... 
LIBS += C:\opencv-build\bin\libopencv_imgcodecs320.dll 


DISTFILES += 

RESOURCES += \ 
    rsc.qrc 

Ça ne marche pas, où est-ce que je fais erreur? Merci !

Répondre

1

Seules les classes Qt qui utilisent QFile peut lire à partir des ressources stockées à l'aide du système de ressources Qt, de la docs:

Le système des ressources repose sur une coopération étroite entre qmake, CCCD (compilateur de ressources de Qt), et QFile.

Par conséquent, vous devez lire les données à partir du fichier de ressources à l'aide QFile, puis fournir les données lues à cv::imdecode pour obtenir un cv::Mat.

+0

oh! tu as raison, merci beaucoup! –