RoboMaster视觉教程Qt(一)Qt5环境配置及测试

RoboMaster视觉教程Qt(一)Qt5环境配置及测试

一 介绍

首先,manifold-2G的处理器架构是arm。很多软件都没有arm版本的,无法在manifold-2G上使用。另外如vs code,虽然能找到arm版本,但是,没有C/C++的插件,无法进行变量之间的跳转,有不少问题。而给vim配置ctags来鼓捣自己想要的IDE,我感觉步骤繁琐,而且效果也很差劲。那怎么办呢,总不能一直在命令行上吧?

可选的IDE只剩下了Qt和Clion。当然我没有测试过能否在manifold-2G上安装Clion。但是Qt一定可以在manifold上运行,而且通过学习qt能够编写在Robomaster中自动调参的上位机软件,或者是其他一些波形显示代码。总而言之,现在暂时选择了qt Creator。

我们之前使用过g++,不使用构建工具直接利用编译器进行编译。

也使用过cmake,需要利用CMakeLists.txt生成Makefile文件,再编译生成可执行文件。

但是之后我们用的更多的可能是qmake,它也是一种构建工具,需要利用.pro文件生成Makefile文件,再编译生成可执行文件。

qmake 是为 Qt 量身打造的。什么是Qt呢?它是最广为人知的C++框架之一,是一个开源的应用程序开发框架,并且很少或者根本就不需要任何修改就可以创建可在不同操作系统或设备上运行的跨平台应用程序,也就是跨平台。而Qt Creator是一个集成开发环境(简称IDE),用于开发Qt应用程序,能够编写上位机。

二 安装qt

网上有很多博客,是使用apt安装Qt,那种方法太过时了。安装的是Qt4,我们应该上官网安装Qt5.

  1. 注册qt账号https://login.qt.io/register
    注意验证码一定需要区分大小写。

  2. 安装qt必备的库

    sudo apt-get install build-essential libgl1-mesa-dev 
    
  3. 官网 http://download.qt.io/official_releases/qt/5.9/5.9.9/ 下载qt安装包,名字为:qt-opensource-linux-x64-5.9.9.run

  4. chmod +x qt-opensource-linux-x64-5.9.9.run 
    ./qt-opensource-linux-x64-5.9.9.run 
    

    chmod +x 给这个安装包添加了可执行权限,之后运行这个可执行文件,可以图形化安装qt。

  5. 输入刚才注册成功的qt账号

  6. 组件选择Desktop gcc 64位 一定确认选择了这个gcc编译器,否则无法编译!点击qt的下三角能看到所有组件。这里我建议按照下图进行。也就是除了源码Sources不选之外,其他都选。(未来很久一段时间不会使用Sources源码安装)如果选的组件缺少,还得使用 MaintenanceTool卸载重装组件。虽然卸载和重装步骤很快就是了。

在这里插入图片描述

  1. 完毕!

三 测试qt

新建一个空白工程,来看qt最基本的功能。没提到的默认即可,next
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意这里选择组件时,选择Desktop Gcc

剩下的一路默认。

打开工程下的mani.cpp

点击qt左下角的绿色三角(放到那里会显示run)

出现下面一个啥也没有的框,代表安装成功。可以利用c++编写图形化界面。
在这里插入图片描述

四 使用qmake编译一下代码(有空玩玩,没空略过)

之前一直用cmake编译,大家这回可以用qmake编译一下利用qt编写的代码。github正好有这样一款开源代码,他是利用gcc和qmake5编译的,能够在Linux上实现截图功能。(电脑不许先安装了Qt,如果卸载了Qt,这个软件也用不了了)

  1. flameshotgithub下载界面 https://github.com/lupoDharkael/flameshot#debian 下载整个文件

  2. 将qmake路径改为qmake5(默认qmake4)更改步骤 https://blog.csdn.net/dddxxxx/article/details/89849037

    如果qt安装时没有更改路径,这个qmake的路径就是:/home/dji/Qt5.9.9/5.9.9/gcc_64/bin

  3. unzip download.zip
    cd 文件夹
    mkdir build
    cd build
    qmake ../
    make
    sudo make install
    flameshot
    

    上述命令是对下载的文件进行操作的。可以看到和cmake的指令很有些相似

  4. 利用快捷键呼出该截屏软件操作步骤:https://jingyan.baidu.com/article/fa4125ac7e075968ac7092fb.html

这个截屏软件是Linux比较好用的一款软件。

五 Qt包含opencv环境

为了能够在Qt中使用OpenCV,可以使用一个称为PRI文件的特定类型的文件(也可以直接在.pro文件中添加openCv路径)。PRI文件用来添加第三方模块,并将其包含在Qt项目中。注意,只需要操作一次,之后会在所有项目中使用这个文件,因此这是Qt配置的一个非常重要(但非常简单)的部分。

  1. 建议在构建OpenCV时所用的相同文件夹下,创建.pri文件,这有助于确保所有与OpenCV相关的文件都在同一个文件夹中。比如/home/dji/Downloads/opencv_family_bucket/下

  2. touch opencv.pri
    
  3. 在opencv.pri填入以下内容:

    INCLUDEPATH += /usr/local/include
    LIBS += -L/usr/local/lib \ 
    -lopencv_world 
    

    这段代码指明了open cv库的路径和头文件的路径,在我们利用cmake进行configure时候,我们没有进行改变,因此在默认路径下,/usr/local/

  4. 新建一个控制台应用程序。console application 其他与刚刚新建工程的方式一致。

    注意:选择 第二个,Qt Console Application(因为没有用到界面,所以选这个就可以)

在这里插入图片描述

  1. 这次,不要单击“Run”按钮,而应双击.PRO文件,在浏览器Qt Creator屏幕左侧找到这个文件,并在项目PRO文件的最下方的末尾添加:include(/home/dji/Downloads/opencv_family_bucket/opencv.pri)

    这样我们在在qt里包含opencv.pri,qt就能够找到opencv路径。

  2. 在main.cpp

    写入以下代码:

    #include <QCoreApplication>
    #include "opencv2/opencv.hpp"
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
             using namespace cv;
            Mat image = imread("/home/dji/Desktop/OpenCV_Logo.png");
            imshow("OUT",image);
        return a.exec();
    }
    
  3. 在/home/dji/Desktop/下新建一个OpenCV_Logo.png,开始运行

显示一张图即成功。

微信公众号

欢迎大家关注我的个人公众号,现阶段主要总结Robomaster相关的计算机视觉知识。
公众号名称:三丰杂货铺
在这里插入图片描述

©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页