c++ - 带有 Qt 的 OpenCV : The program has unexpectedly finished

标签 c++ qt opencv qt-creator

我正在尝试在 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/

相关文章:

qt - 无法在 "xcb"中加载 Qt 平台插件 ""即使找到了

c++ - QT Creator中如何使用FMOD工具?

android - 在带有 opencv 的 Android 中,转换 BitmapToMat 是转换 mat 图像或任何其他转换 Mat 图像的可能性的有效方法?

python - 检测图像矩阵Python OpenCV中半透明黑色矩形区域的位置

c++ - 矩阵对数算法

c++ - 模板类中的 Typedef 不起作用

c++ - 主游戏循环中的时间计算

c++ - MinGW 包含路径冲突

c++ - std::vector push_back() 删除前一个元素

qt - 如何安装两个版本的 Qt 并告诉应用程序使用哪个版本?