Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 带Qt的OpenCV:程序意外完成_C++_Qt_Opencv_Qt Creator - Fatal编程技术网

C++ 带Qt的OpenCV:程序意外完成

C++ 带Qt的OpenCV:程序意外完成,c++,qt,opencv,qt-creator,C++,Qt,Opencv,Qt Creator,我正在尝试在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

我正在尝试在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();
}
环境变量包括:

OPENCV_目录:C:\OPENCV\OPENCV\build\x64\mingw路径: G:\5.0.2\Tools\MinGW\bin;G:\Qt\5.0.2\mingw47\u 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

  • 注意每个库末尾的“d”(如果要在调试中生成)

    • 您解决问题了吗

      您是否尝试添加系统(“暂停”);在返回a.exec()之后

      只是一些额外的注意事项:

      也尝试

      try 
      {
      ...
      }
      catch (Exception e)
      {
      ...
      }
      
      看看你是否能找到错误

      第三,检查lena.jpg的文件权限


      最后,看看是否可以使用路径E:\lena.jpg

      同样的错误来处理imread。奇怪的是,当我从调试文件夹运行exe时,图像是可见的,但当我从Qt Creator中运行它时,图像是不可见的。你确定这不是dll加载问题吗?它是在发布和调试中失败,还是只在其中一个方面失败?该博客提到,需要调试VisualC++快照包来运行OpenCV库。我的系统上安装了完整的VisualStudio。当我从release或debug目录运行exe时,会显示映像,但当我尝试从IDE中运行它时不会显示映像
      -lopencv_core244d \
      -lopencv_highgui244d \
      -lopencv_imgproc244d
      
      try 
      {
      ...
      }
      catch (Exception e)
      {
      ...
      }