1.2使用Qt创建OpenCV项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/webzhuce/article/details/79960119
本文介绍在Win7 64位电脑上利用Qt创建OpenCV项目。
Qt是一个完整的C++集成开发环境(IDE)。Qt的安装这里就不介绍了。

创建项目

  运行Qt Creator,新建一个新的项目。如下图所示。
这里写图片描述
  创建完一个空的控制台应用,如下图所示。
这里写图片描述
  Qt生成的代码创建了一个QCoreApplication对象,并调用它的exec()方法。这只有在应用程序需要事件处理器来负责用户与GUI交互时才是必须的。这里我们简单地打开并显示图像,这是没有必要的,我们将生成的代码替换成之前使用的示例。代码如下。

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;

int main()
{
    Mat img = imread("E:/TestData/lena.jpg");
    if (img.empty())
    {
        std::cout << "Error: load image failed." << std::endl;
        return -1;
    }
    namedWindow("image", WINDOW_AUTOSIZE);
    imshow("image", img);
    waitKey();
    return 0;
}

  为了能够编译程序,OpenCV库文件和头文件的路径必需指定。在Qt中,这些信息包含在后缀为.pro的项目文件中,这是一个简单的描述项目参数的文本文件。你可以在Qt Creator中编辑这个项目文件。下图是该项目文件。
这里写图片描述
  用于构建OpenCV应用的信息可以添加项目文件的末尾。

INCLUDEPATH   += D:/opencv/build/include
CONFIG(debug, debug|release): {
LIBS += -LD:/opencv/build/x64/vc14/lib \
-lopencv_world340d
} else:CONFIG(release, debug|release): {
LIBS += -LD:/opencv/build/x64/vc14/lib \
-lopencv_world340
}

  现在程序可以进行编译和执行。运行结果如下:
这里写图片描述

作用原理

  项目文件描述了一个Qt项目,它是一个声明了许多变量的文本文件,包含用于构建项目的相关信息。当处于编译过程时,这个文件将会被软件工具qmake调用。文件中的每个变量都与一系列的值相联系。qmake可以识别的主要变量如下:
- TEMPLATE:定义项目的类型(应用程序、库等等)。
- CONFIG:指定编译器的不同选项。
- HEADERS:列出项目的头文件。
- SOURCES:列出项目的源文件。
- QT:声明所需的Qt扩展模块及类。默认包含核心模块及GUI模块。如果你希望移除它们其中之一,可以使用-=语句。
- INCLUDEPATH:指定用于搜索头文件的文件夹。
- LIBS:包含链接时的库文件列表。使用-L指定文件夹路径,-l指定库的名称。
以上便是最常用的变量。

常见问题

1、Qt Creator 编译没有问题,运行时无法运行,也无法调试。应用程序输出:exited with code -1073741515

原因之一:设置环境变量用的..\opencv\build\x64\vc14\bin的中Visual Studio版本与Qt Creator用的版本不一致导致。

阅读更多

扫码向博主提问

阿Bin先生

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • VTK
  • ITK
  • OpenCV
  • C++
  • Python
去开通我的Chat快问

没有更多推荐了,返回首页