我正在尝试在 Windows 8 64 位上使用 Qt Creator 2.7.0 (Qt 5.0.2) 配置 OpenCV。 在执行我的程序时,出现以下错误:
The program has unexpectedly finished.
这是我的main.cpp
#include "mainwindow.h"
#include <QApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
IplImage *image = cvLoadImage("E:\\lena.jpg"); //If this is removed, the program runs OK
return a.exec();
}
我的 .pro 文件是
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = untitled1
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
unix:!mac {
message("* Using settings for Unix/Linux.")
INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib/ \
-lopencv_core \
-lopencv_highgui \
-lopencv_imgproc
}
## OpenCV settings for Mac OS X
macx {
message("* Using settings for Mac OS X.")
INCLUDEPATH += /usr/local/include/opencv
LIBS += -L/usr/local/lib/ \
-lopencv_core \
-lopencv_highgui \
-lopencv_imgproc
}
## OpenCV settings for Windows and OpenCV
win32 {
message("* Using settings for Windows.")
INCLUDEPATH += "C:\\OpenCV\\opencv\\build\\include" \
"C:\\OpenCV\\opencv\\build\\include\\opencv" \
"C:\\OpenCV\\opencv\\build\\include\\opencv2"
LIBS += -L"C:\\OpenCV\\opencv\\build\\x64\\mingw\\lib" \
-lopencv_core244 \
-lopencv_highgui244 \
-lopencv_imgproc244
}
环境变量是:
OPENCV_DIR:C:\OpenCV\opencv\build\x64\mingw Path: G:\5.0.2\Tools\MinGW\bin;G:\Qt\5.0.2\mingw47_32\bin
可能是什么问题?
最佳答案
我建议您尽可能使用 OpenCV 2.x API。错误处理更好。
这将是 cv::Mat image = cv::imread("E:\lena.jpg");
如果图片是空的,说明你走错了路
此外,请确保 opencv dll 在您的可执行文件的路径中(core、highgui 和 imgproc)。
关于c++ - 带有 Qt 的 OpenCV : The program has unexpectedly finished,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18151412/