请选择 进入手机版 | 继续访问电脑版
开启左侧

qt+opencv环境配置

[复制链接]
丁旭 发表于 2017-12-14 22:29:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

          很高兴有人看到我以前写的帖子,在问我要"四哪",哈哈,那个挖了个大坑,后来找工作上班没来及填上,以后有时间慢慢填上。现在准备从最开始讲讲一些基础的知识。
      做项目前,我们首先要得搭建一个合适的环境,做图像处理相关的肯定要用到一些CV库,在工程上最常用的应该就是OpenCV了。一般使用OpenCV时,使用的语言是C++或者Python。先来讲一下使用C++吧,就默认使用IDE是VS或者Qt,喜欢用其他的不要打我。。。
      使用C++和OpenCV开发,一般总要搞个界面出来,当然在OpenCV里有自己的界面模块highgui,不过那个就是个框框,调试程序看看结果用起来没什么问题,做点好看的界面就不太现实了。所以得加个界面库,一般来说使用VS时,用MFC很方便,但是MFC那奇形怪状的命名还有那消息映射机制绝对让你头皮发麻,不如搞个简单好用的,Qt的界面库看起来就很顺眼。所以第一条路就出来了。
      VS+Qt+OpenCV,不过这条路我没走完,我只是用VS+OpenCV做过配置,没有再加Qt的界面库。这个就比较简单了,因为下载的OpenCV(默认2.4.x)就包括使用VS默认编译器编译好的VS版本OpenCV库,直接配置VS工程时直接配置那些OpenCV库的目录就好了,或者配置属性表一劳永逸等等,然后再把qt库加到VS里就可以了,这个网上资料很多,很容易配置成功。
      Qt+OpenCV,直接在Qt上配置OpenCV,这样我们可以使用我们熟悉Qt了,但是有很多需要转换的地方,比如QString和string,QImage和Mat等需要注意的地方。
      网上有很多关于Qt+OpenCV配置的方法,但是讲的都很混乱,而且按照那些方法,真的不一定成功。所以需要先理清配置的思路。
      我们先看看Qt这个IDE,Qt的构建套件一般是MSVC或者MinGW,这个在Qt的工具->选项->构建运行->构建套件里可以看到。当我们选择的不同的Qt时,对应的OpenCV是不同的,因为我们使用的OpenCV是先编译再链接的,不同的编译器编译出的OpenCV是不同的。
      下载解压后的OpenCV应该有一个sources目录和build录,sources目录下是源码,build下是编译过的OpenCV,build下有x86,x64两个文件夹,下面有对应vc版本对应OpenCV库,所以使用MSVC版本Qt时不需要自己编译OpenCV(前提看准了MSVC版本和OpenCV自带的版本),这样使用只需要配置Qt工程时在.pro里把OpenCV的一些路径配置好,这样做比较简单,但是MSVC版本的Qt没有调试器,不能单步调试,我们可以另外下载个调试器配合使用,这条路我也走过,是可行的,但是感觉使用起来不怎么好用。
      最好用的就是使用MinGW版本的Qt,虽然编译时要比MSVC慢,但是使用MinGW的调试器,感觉好用一些,可能也许是感觉GNU要比微软要高大上吧,如果对微软的东西有好感,就直接用VS了。使用MinGW的Qt问题是OpenCV没有对应的编译过的库,需要自己编译。需要自己下载个CMake工具,用这个工具去编译OpenCV的源代码,生成MakeFile,再用Qt的MinGW去make编译,编译好了就有了MinGW版本的OpenCV库了,配置到Qt的.pro里就可以用了,这么做虽然麻烦一些,但是也是可行的,我也这么配置过的,亲测可用。需要注意的是MinGW和OpenCV的版本的对应要搞好,一般来说OpenCV下2.4.x的版本,Qt下新一点的版本就可行。
     一般来说Qt+OpenCV这三种方式比较常见。按照这三种思路,看网上那些教程也会看明白的,其实也是我偷懒了的,等我需要再配置OpenCV时,按步骤多截图,再贴图,做一个完整的教程。
    题外话:多配置几次环境,大家应该想对那些.lib,.dll,.h等等需要更进一步的了解,所以我在这里推荐一本书
程序员的自我修养-链接装载与库》。

精彩评论3

孙松松 发表于 2017-12-15 11:23:23 | 显示全部楼层
受教了,按照10个字的标准加些字。
聂向超 发表于 2018-4-11 10:40:11 | 显示全部楼层
哈哈,不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注1

粉丝1

帖子5

发布主题
阅读排行 更多
广告位
0351-8210788
周一至周日 9:00-18:00
意见反馈:mind@unigress.com
关注我们

扫一扫关注我们

Powered by Discuz! X3.4 Licensed  © 2001-2013 Comsenz Inc.( 晋ICP备12005011 )