带Qt的OpenCV:程序意外完成
OpenCV with Qt: The program has unexpectedly finished
我正在尝试在windows 8 64位上使用Qt Creator 2.7.0(Qt 5.0.2)配置OpenCV。在执行程序时,我得到以下错误:
程序意外地完成了。
这是我的主.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路径: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)的路径中。
您可能需要更改
-lopencv_core244
-lopencv_highgui244
-lopencv_imgproc244
至
-lopencv_core244d
-lopencv_highgui244d
-lopencv_imgproc244d
- 注意每个lib末尾的"d"(如果要在调试中生成)
问题解决了吗?
您是否尝试添加系统("暂停");在返回a.exec()之后?
只是一些额外的注意事项:
也可以尝试
try
{
...
}
catch (Exception e)
{
...
}
看看你是否能找到错误
第三,检查lena.jpg 的文件权限
最后,看看是否可以使用路径E:\lena.jpg
相关文章:
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 多线程程序中出现意外的内存泄漏
- C++ 程序意外退出
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- 如果我删除指针,我的C++程序会意外删除系统文件吗?
- Qt 应用程序具有意外的 QDir::currentPath
- 排序程序的意外错误代码
- 以下程序的意外输出
- QT应用程序意外的语言事件
- 简单程序中的意外推力错误
- 程序意外终止C
- 设置终止和意外处理程序
- 双精度数字程序意外值
- QWT示例该程序已经意外完成
- 使用双精度的程序的意外行为
- 查找素数的程序意外停止
- 程序意外地完成了-QT创建者
- cpp 程序中的意外输出
- 当我在递归函数中调用 return 时,我的程序意外完成
- Arduino上的意外程序停止