缠丝猫 发表于 2023-11-12 19:01:24

Qt调用Opencv

使用Qt Creator调用opencv
一、构建套件
  在构建套件之前,需正确安装Visual Studio和WindowsSDK
  当正确安装后,一般情况下,在Qt Creator会自动识别到VS的编译器和调试器,并会自动构建好。若调试器未能自动识别,可自行找到相关的安装路径(cdb.exe文件),然后添加,自行命名好即可。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456717-957572468.png图1 自动识别的编译器https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456717-593295424.png图2 自动识别的调试器及路径  同理,若套件未能自动构建,则自己手动选择编译器和调试器。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456732-1560504006.png图3  当未构建好或构建的路径不正确时会显示红色感叹号,若没有调试器则会显示黄色感叹号(此时可以编译运行,但无法调试)。
二、创建一个项目或载入已有项目
  2.1创建项目
  为简单起见,案例将创建一个Qt的控制台应用,如图4所示:
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456711-1066952648.png
图4https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456673-1272764428.png图5  根据提示依次输入相关信息,在套件选择页面中选择自己构建的套件。本案例将选择MSVC 2015 x64的套件,其为VS2015的编译器,同时对应的opencv也应当是支持VS2015的动态库(什么编译器编译出的动态库就用什么编译器,有不少人是用MinGW,看个人喜好)。接着根据提示进行相关操作即可。
注意:选择MSVC系列编译器需要注意编码问题(针对源文件,如main.cpp等文件),网络有很多相关的解决办法,可自行查找。我认为一个很方便的做法是通过其他文本编辑器(如notepad++)将源文件转为utf-8-bom格式(如图6所示),然后在Qt Creator中重新加载。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456769-106153195.png图6  2.2添加opencv库
  第一种方式,采用自动添加库,第二种和方式是直接在pro文件中写LIBS、INCLUDEPATH相关代码,后续复制即可。
  采用自动添加库时,右击项目->选择添加库->选择windows、动态库、为debug版本添加‘d’作为后缀->分别选择对应的库文件和include文件夹->依次操作点击完成。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456610-1191070136.png
图7
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456609-1781852828.png
图8https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456619-1191501123.png图9https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456650-1146450886.png图10https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456697-2132017390.png图11https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456688-2121238881.png图12  自此添加完成,自动在pro文件夹添加相关代码,如图13所示。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456665-109794943.png
图13
  注意,如果在添加库之前已经进行了构建(或运行),生成了“build-untitled1-Desktop_Qt_5_9_1_MSVC2015_64bit-Debug”文件夹,这通常会导致找不到“opencv.hpp”文件夹等错误,此时需要删除该文件夹重新构建。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456630-1478518849.png图14  如果未在之前将源文件转为utf-8-bom格式,这将导致中文字符乱码,从而可能导致imread函数读取含中文路径的图片失败等问题。
  在一些情况下,点击运行后,界面一直显示如图13所示,往控制台中按回车会关闭并停止运行,该类问题暂不知道什么原因,而再重新创建工程又无该问题。
https://img2023.cnblogs.com/blog/1987842/202310/1987842-20231021192456621-1603014394.png
图15

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Qt调用Opencv