Qt Creator中调用Opencv

使用Qt Creator调用opencv

  本案例使用Visual Studio 2015+Opencv4.6.0+Qt Creator 5.9.1

一、构建套件

  在构建套件之前,需正确安装Visual StudioOpencv和WindowsSDK,可参考博客1博客2

  当正确安装后,一般情况下,在Qt Creator会自动识别到VS的编译器和调试器,并会自动构建好。若调试器未能自动识别,可自行找到相关的安装路径(cdb.exe文件),然后添加,自行命名好即可。

图1 自动识别的编译器
图2 自动识别的调试器及路径

  同理,若套件未能自动构建,则自己手动选择编译器和调试器。

图3

  当未构建好或构建的路径不正确时会显示红色感叹号,若没有调试器则会显示黄色感叹号(此时可以编译运行,但无法调试)。

二、创建一个项目或载入已有项目

  2.1创建项目

  为简单起见,案例将创建一个Qt的控制台应用,如图4所示:

图4
图5

  根据提示依次输入相关信息,在套件选择页面中选择自己构建的套件。本案例将选择MSVC 2015 x64的套件,其为VS2015的编译器,同时对应的opencv也应当是支持VS2015的动态库(什么编译器编译出的动态库就用什么编译器,有不少人是用MinGW,看个人喜好)。接着根据提示进行相关操作即可。

  注意:选择MSVC系列编译器需要注意编码问题(针对源文件,如main.cpp等文件),网络有很多相关的解决办法,可自行查找。我认为一个很方便的做法是通过其他文本编辑器(如notepad++)将源文件转为utf-8-bom格式(如图6所示),然后在Qt Creator中重新加载。

图6

  2.2添加opencv库

  第一种方式,采用自动添加库,第二种和方式是直接在pro文件中写LIBS、INCLUDEPATH相关代码,后续复制即可。

  采用自动添加库时,右击项目->选择添加库->选择windows、动态库、为debug版本添加‘d’作为后缀->分别选择对应的库文件和include文件夹->依次操作点击完成。

  如

    库文件路径:H:\Opencv460\opencv\build\x64\vc14\lib

    包含路径:H:\Opencv460\opencv\build\include

图7

图8
图9
图10
图11
图12

  自此添加完成,自动在pro文件夹添加相关代码,如图13所示。

图13

  注意,如果在添加库之前已经进行了构建(或运行),生成了“build-untitled1-Desktop_Qt_5_9_1_MSVC2015_64bit-Debug”文件夹,这通常会导致找不到“opencv.hpp”文件夹等错误,此时需要删除该文件夹重新构建(很多情况下只要是编辑了pro文件,就需要删除该生成文件夹再运行)。

图14

  如果未在之前将源文件转为utf-8-bom格式,这将导致中文字符乱码,从而可能导致imread函数读取含中文路径的图片失败等问题。

  在一些情况如不能解决可考虑在每个头文件前面添加以下:

  #if _MSC_VER >= 1600

  #pragma execution_character_set("utf-8")

  #endif

图15

 

  在一些情况下,点击运行后,界面一直显示如图16所示,往控制台中按回车会关闭并停止运行,该类问题暂不知道什么原因,而再重新创建工程又无该问题。

图16

posted @ 2023-10-21 19:31  兴财啊  阅读(531)  评论(0编辑  收藏  举报