OpenCV и Qt 5.3 странное сообщение

Я пытаюсь запустить (в Qt, C ++) следующий код, который использует OpenCV:

.Про файл:

QT       += core
QT       -= gui

TARGET = testOpenCV2
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

INCLUDEPATH += C:\opencv\build\include
LIBS += C:\opencv\release\bin\libopencv_core300.dll
LIBS += C:\opencv\release\bin\libopencv_highgui300.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs300.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc300.dll

Файл main.cpp:

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
cv::Mat image = cv::imread("pic.jpg", CV_LOAD_IMAGE_COLOR);
cv::namedWindow("My Image", WINDOW_AUTOSIZE);
cv::imshow("My Image", image);
cv::waitKey(0);

return 0;
}

Но я получаю следующее сообщение:

выход с кодом -1073741515

И иногда я получаю следующее сообщение:

Невозможно получить дескриптор низшего: параметр неверен.

и ничего не происходит

Кто-нибудь может мне помочь?

Я новичок в Qt и не знаю, что происходит.

0

Решение

Вы вообще не используете Qt (за исключением того, что вы пытаетесь связать QtCore). Для запуска QtApplication вам по крайней мере нужно вызвать QCoreApplication.

#include <QCoreApplication>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

// Some code here
// QMainWindow w;
// w.show();

return a.exec();
}

Создавая не Qt-приложение, вы бы изменили свой pro-файл (вообще не используйте QT):

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += C:\opencv\build\include
LIBS += C:\opencv\release\bin\libopencv_core300.dll
LIBS += C:\opencv\release\bin\libopencv_highgui300.dll
LIBS += C:\opencv\release\bin\libopencv_imgcodecs300.dll
LIBS += C:\opencv\release\bin\libopencv_imgproc300.dll

Таким образом, вам также не понадобится QCoreApplication.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]