2017-07-21 52 views
0

我嘗試從資源中讀取圖像。Qt創建者:從資源中讀取圖像

的Qt:5.9.1和OpenCV:3.2

我的代碼是:

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

而且我的文件:

enter image description here

我的.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 

它不起作用,我在哪裏犯錯?謝謝 !

回答

1

使用QFile可以使用Qt資源系統存儲資源讀取只有Qt類,從docs

資源系統是基於QMAKE,RCC(Qt的資源編譯器)之間的緊密合作,一個QFile。

因此,你必須使用QFile資源文件中讀取數據,然後將讀取的數據提供給cv::imdecode得到cv::Mat

+0

哦!你是對的,非常感謝你! –