问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何在Qt中配置OpenCV开发计算机视觉程序

发布网友 发布时间:2022-04-12 11:37

我来回答

2个回答

懂视网 时间:2022-04-12 15:58

如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0- msvc 2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。 需要注意的一点是Q

如果你安装的是使用Microsoft Visual Studio编译器的Qt(例如我安装的这个Qt,安装包文件名为:qt-windows-opensource-5.2.0-msvc2012-x86-offline.exe),则不需要网传的对OpenCV进行编译的这个麻烦过程,直接利用VS的预编译文件即可。

需要注意的一点是Qt不支持Visual Studio Express版。另外你最好先在Visual Studio下完成OpenCV简单demo的编译(参看我之前的博文),确保OpenCV环境设置正确。

使用Qt Creator这个IDE而不是VS的好处在于Qt Creator能够非常方便地调用所有Qt的组件,而且更加轻量级、启动也很快速,开发跨平台应用时也更加方便(主流平台下都有Qt Creator,而只有Windows才有Visual Studio)。

Qt程序的项目配置文件保存在.pro文件里,类似于VS2012中所配置的,Qt也没有“全局”的INCLUDE和LIB(库)路径的修改功能,而是通过对pro文件的改动来配置编译时需要包含的路径和库文件。

在Qt Creator里,新建一个项目,Qt控制台应用就可以了。然后在“编辑”面板里打开项目的pro文件,如下图所示:

添加下面几行:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

INCLUDEPATH += D:/openCV_build/include

win32:CONFIG(debug, debug|release): {

LIBS += -LD:/openCV_build/x86/vc11/lib

-lopencv_core247d

-lopencv_imgproc247d

-lopencv_highgui247d

-lopencv_ml247d

-lopencv_video247d

-lopencv_features2d247d

-lopencv_calib3d247d

-lopencv_objdetect247d

-lopencv_contrib247d

-lopencv_legacy247d

-lopencv_flann247d

} else:win32:CONFIG(release, debug|release): {

LIBS += -LD:/openCV_build/x86/vc11/lib

-lopencv_core247

-lopencv_imgproc247

-lopencv_highgui247

-lopencv_ml247

-lopencv_video247

-lopencv_features2d247

-lopencv_calib3d247

-lopencv_objdetect247

-lopencv_contrib247

-lopencv_legacy247

-lopencv_flann247

}

路径使用斜杠(/)而不是反斜杠(),INCLUDEPATH是项目编译时会包含的头文件目录,后面加上的是OpenCV预编译文件的include(这里的路径和我之前那篇Visual Studio 2012配置OpenCV环境的是一样的),LIBS则是编译时需要链接的文件,-L后紧跟的是目录,-l后则紧跟对应的动态链接,和VS中不太一样的是不用写出完整的文件名(没有后面的.lib后缀),和VS2012中类似的则是这里通过CONFIG来确认编译类型是debug还是release来使用debug链接或release链接。前面用win32则保证这些链接仅在Windows下编译时被链接器链接。

前面几行的末尾的反斜杠是用来把一行内容分成多行写(类似C++的语法),这样做的目的主要是清晰易读,不必写一行超长的语句。

pro文件修改完成后保存,回到main.cpp文件里,一个简单的OpenCV demo内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include

using namespace cv;

int main()

{

Mat img = imread("D:/demo.png");

if (img.empty())

{

fprintf(stderr, "Error: load image failed.");

return -1;

}

namedWindow("image", CV_WINDOW_AUTOSIZE);

imshow("image", img);

waitKey();

return 0;

}

它会载入D:/demo.png这个图片文件,你可能需要进行一些改动以便让该demo顺利运行。另外之前改动了pro文件,但是Qt Creator很可能认为项目配置没有变化,因此不会自动重新运行qmake,需要手动运行一次以免出现“LNK 2019”链接错误或者找不到包含目录的错误。“构建->执行qmake”,然后再“构建->重新构建项目”。以后没有改动pro的话,就不需要执行qmake了,直接点左侧面板上那个榔头(Ctrl+B)构建项目就可以了,绿色三角形(Ctrl+R)运行程序,绿色三角形带虫子(F5)调试程序。

热心网友 时间:2022-04-12 13:06

网上的教程很多,你可以百度一下。我只是补充几点,我前一段为了配置它花了一个星期。 如果实在Linux系统下还好,按照教程估计没问题了。如果是在windows系统下,问题就大了。
首先,vc10,vc11,vc12这几个是怎么添加库都不会成功的。不知道为什么QT现在还不支持visual studio编译的库。要用mingw编译的库才行,这个mingw编译的库opencv以前是自带的。但是据说opencv2.4.5还是opencv2.4.7之后就不自带了。需要自己用CMake编译。所以还是自己到网上找教程自己CMake一下吧。
其次,上面一切配置完成之后,qt程序运行的时候要把opencv的相应*.dll文件拷贝到对应的Debug文件夹中去,即和*.pro、*.cpp等放在一起。
这就是我配置得来的经验。
还可以参考下我的这篇博客,记录了我配置的经验和第一个opencv和qt结合,打开并显示图片的代码。应该有你想要的东西。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
nova7SE如何截屏 教师用的资料书是什么 教师资格证考试专用书籍有哪些 X BOX上面这个游戏叫什么在线等谢谢 这是什么游戏或者其它什么东西。。 在线等 如图,这是什么游戏啊在线等急 这个是神马游戏,求大神告知,,,看图片感觉非常好玩,,,在线等,,, 请问这是什么游戏,红白机的,在线等 B开头的英文名男及寓意,B开头的男孩英文名 Baal是什么意思 《法语助手》法汉 去汕头市南澳岛玩一天够玩吗?费用如何?有没有什么特别要去的地方和小吃?谢谢各位 爱慕内衣质量怎么样?想买几件保暖的男士内衣,有推荐么? 送男朋友保暖内衣什么品牌好 梦见谷子地里锄草 m.sosuo.name 梦见给谷子清杂草 whole number和integers到底有啥区别???急!!! 整数和正整数有什么区别 有理数,无理数,正数,正整数,负整数,负数,负整数,这些的定义,概念和怎么样区别 220V转110V 功率3000w变压器 或者稳压器推荐。 飞利浦电饭煲和松下电饭煲哪个好? 目前哪种牌子智能电饭煲比较好?松下还是飞利浦? 从日亚海淘电饭煲划算不?被税概率大不大 日淘电饭煲,容易被税吗? 我微信用QQ号手机号都可以登进就是显示别人的旧手机号码怎样改得掉_百度问一问 我现在换了手机号码 想改绑定的QQ码怎么改 北极除了有北极熊还有什么啊 *冻结了我的微信余额因为我这个微信是qq号注册的可以更换手机号码吗 我的苹果appID被锁了怎么办 北极除了有北极熊还有啥比较普遍的东西? 请问北极都有什么动物 男生一般穿什么牌子的保暖内衣,求大神指点 loadrunner 分哪三个部分 谷子地杂草用什么除草剂 性能测试工具Loadrunner遇到的一些问题? 男士保暖内衣哪个牌子好 男士什么牌的保暖内衣最好,最暖和? 昨天认筹今天后悔了,可以马上退筹吗。 loadrunner工具有多大 男人买什么牌子保暖内衣好呢 保暖内衣男士什么牌子好 选房交了认筹金后不想买房了可以退款吗买订? CK,猫人,波司登。那个品牌的男士保暖内衣好!?那种款式? 哪些男士内衣品牌比较好 请问各位美女帅哥们。我跟朋友想去南澳游一天,怎么坐车。 有公子抱这种说法吗? 男生被公主抱是一种什么感觉? 节目卖腐男男公主抱,你怎么看? 买房子已认购但没签协议,认筹金能退吗? 那些动漫有女公主抱男的 买房子认筹金退款流程是什么
  • 焦点

最新推荐

猜你喜欢

热门推荐