RoboMaster_SWPU铁人战队视觉组工作笔记(一)

QT5.9.4与OpenCV3.0.0配置

  大疆最近推出了他们的第二代妙算微型电脑manifold2,无人机和哨兵由于设计尺寸等原因考虑,优先选择妙算2作为机载电脑搭配,查看妙算2的技术手册发现配置的ubuntu版本为16.04LTS,opencv版本是3.0.0,故视觉组统一软件开发环境为ubuntu16.04、QT5.9.4、oepncv3.0.0,方便后期代码直接在妙算2上可以跑起来。
在这里插入图片描述
(一)QT安装与OpenCV源码编译

  在OpenCV的官网下载OpenCV3.0.0的源码,下载后是一个zip压缩文件,再下载QT5.9.4的run文件,在终端里面输入./qt-opensource-linux-x64-5.9.4.run就可以直接运行安装QT5.9.4了,是不是非常方便。
  接下来就是配置OpenCV3.0.0了,先把OpenCV的压缩包解压到home文件夹下,再添加OpenCV所需要的依赖库,参考这篇博文:在我的台式机上参考这篇博文就可以直接使用opencv库了,但在我的笔记本上却不行,详情请继续阅读。
  https://www.cnblogs.com/fx-blog/p/8213704.html.

  根据上面博文的教程依次执行,就可以在ubuntu里面编译好OpenCV的源码了,此时在/usr/local/lib下看见OpenCV的编译结果了。如果在编译期间,遇到有些文件没有找到,则自行百度解决(在编译的过程中,ippicv_linux_20141027.tgz需要在线下载,但速度非常慢,我们事先准备好这个压缩包,然后拷贝到/home/young/opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b,这是我自己的路径,读者自行修改)。

  由于国庆放假,我把项目转到笔记本上做,发现了很多工程创建与opencv编译的问题。
  1、直接把台式机的工程拷贝到笔记本上,点击构建项目,发现显示“不能构建”,百度搜索问题后,发现要在QT界面的左边点击“项目”,在此选项下修改工程的构建目录即可。
  2、GCC/G++编译器默认的std是c++98的,不能支持多线程与mutex互斥量,显然要让QT支持C++11的新特性,百度后发现要在pro文件中,输入QMAKE_CXXFLAGS += -std=c++11即可,实测发现仅输入config -= c++11不行。
  3、运行工程时,提示找不到opencv库,但是我源码编译opencv时,已经在usr/local/lib中看到相关的so文件了嗒,究其原因,是因为我没有把编译步骤执行完毕,参考这篇博文。
  https://blog.csdn.net/public669/article/details/99044895.

(二)基于QT建立OpenCV项目

  在欢迎界面,选择新建项目,选择Non-Qt project C++模板,然后一路点击下一步,直到完成项目的创建。QT不支持项目名字是中文。
  QT会有输入不了中文的bug,解决办法:参考这篇博文
  https://blog.csdn.net/hanshihao1336295654/article/details/82885777.

  在项目的pro文件内输入OpenCV的库链接,这样就能在QT里编写OpenCV的代码了。

INCLUDEPATH += /usr/local/include \
               /usr/local/include/opencv \
               /usr/local/include/opencv2

LIBS += /usr/local/lib/libopencv_imgproc.so \
        /usr/local/lib/libopencv_highgui.so \
        /usr/local/lib/libopencv_core.so \
        /usr/local/lib/libopencv_imgcodecs.so \
        /usr/local/lib/libopencv_video.so \
        /usr/local/lib/libopencv_videoio.so \
        /usr/local/lib/libopencv_calib3d.so \
        /usr/local/lib/libopencv_imgproc.so.3.0 \
        /usr/local/lib/libopencv_ml.so \
        /usr/lib/x86_64-linux-gnu/libpthread.so

注意事项:
  1、显示的图片要放在工程里该项目的build文件夹内,不然就要通过绝对路径在程序里加载图片了。
  2、如何在一个工程里调用多个项目,在左下角的Debug内选择哪个为当前项目,点击“运行”按钮时,就执行哪个项目。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值