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));

和我的文件:

在此处输入图像描述

我的 .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:opencvbuildinclude
LIBS += C:opencv-buildbinlibopencv_video320.dll
...
LIBS += C:opencv-buildbinlibopencv_imgcodecs320.dll

DISTFILES +=
RESOURCES += 
rsc.qrc

它不起作用,我在哪里犯错误?谢谢!

只有使用QFile的Qt类才能从使用Qt资源系统存储的资源中读取文档:

资源系统基于qmake,rcc(Qt的资源编译器(和QFile之间的密切合作。

因此,您必须使用QFile从资源文件中读取数据,然后将读取的数据提供给cv::imdecode以获得cv::Mat

最新更新