ArmSoM-W3之RK3588安装Qt+opencv+采集摄像头画面

1. 简介

  • 场景:在RK3588上做qt开发工作

  • RK3588安装Qt+opencv+采集摄像头画面

2. 环境介绍

  • 这里使用了OpenCV所带的库函数捕获摄像头的视频图像。

  • 硬件环境:
    ArmSoM-RK3588开发板、(MIPI-DSI)摄像头

  • 软件版本:
    OS:ArmSoM-W3 Debian11
    QT:QT5.15.2(Qt Creator:4.11.0)
    OpenCV:3.4.14

在这里插入图片描述

3. 在RK3588上安装QT

  • RK3588开发板联网,确认好是否能访问网络

  • sudu su切换到root用户

  • 安装交叉编译

    sudo su
    
    sudo apt-get update
    
    sudo apt-get upgrade
    
    sudo apt-get install build-essential
    
  • 使用如下步骤安装Qt

    sudo apt-get install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
    sudo apt-get install qtcreator
    sudo apt-get install qt5*
    
  • 安装完成后在应用程序中搜索Qt会有Qt的相关程序。

  • 执行命令:qmake -query 查看RK3588上安装的QT版本:QT5.15.2

    qmake -query
    

4. 在RK3588上安装opencv

4.1 安装依赖

root@iTOP-RK3588:/home/topeet/Downloads $sudo apt-get install cmake
root@iTOP-RK3588:/home/topeet/Downloads $sudo apt-get install gcc g++
root@iTOP-RK3588:/home/topeet/Downloads $sudo apt-get install python3-dev python3-numpy
root@iTOP-RK3588:/home/topeet/Downloads $sudo apt-get install build-essential
root@iTOP-RK3588:/home/topeet/Downloads $sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev

4.2 下载OpenCV

  • 到 https://codeload.github.com/opencv/opencv/zip/refs/tags/3.4.14下载OpenCV。
  • 解压opencv-3.4.14.zip压缩包会生成opencv-3.4.14文件夹。

4.3 编译安装OpenCV

  • 进入opencv-3.4.14文件夹,在该目录下新建一个build文件夹;执行如下命令:

    cd opencv-3.4.14
    mkdir build
    cd build 
    cmake ../
    make		#执行make开始编译,这个时间比较长,耐心等待。 
    sudo make install
    

4.4 配置动态链接库

  • 编辑/etc/ld.so.conf,文末加入“/usr/local/lib”,执行sudo /sbin/ldconfig -v生效。
    sudo /sbin/ldconfig -v
    

5. QT开发

5.1 创建qt项目

  • 进入qt创建一个新Qt项目,创建完后打开.pro文件,加入opencv库的路径。

    INCLUDEPATH +=/usr/local/include/ \
                  /usr/local/include/opencv/ \
                  /usr/local/include/opencv2
    LIBS +=/usr/local/lib/lib*
    
  • 可以通过v4l2-ctl --list-devices来获取摄像头的节点。

    root@linaro-alip:~# v4l2-ctl --list-devices
    rk_hdmirx (fdee0000.hdmirx-controller):
        /dev/video20
    
    
    rkisp-statistics (platform: rkisp):
        /dev/video18
        /dev/video19
    
    
    rkcif-mipi-lvds2 (platform:rkcif):
        /dev/media0
    
    
    rkisp_mainpath (platform:rkisp0-vir0):
        /dev/video11
        /dev/video12
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16
        /dev/video17
        /dev/media1
    
    罗技高清网络摄像机 C93 (usb-fc880000.usb-1):
        /dev/video21
        /dev/video22
        /dev/media2
    
  • 而后编写Qt源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/56902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[C++]

C 一.C基础入门1.HelloWorld2.注释3.变量4.常量5.关键字6.命名规则 二.数据类型1.整形2.sizeof关键字3.浮点型4.字符型5.转义字符6.字符串型7.布尔类型8.数据的输入 三.运算符1.算数运算符2.赋值运算符3.比较运算符4.逻辑运算符 一.C基础入门 1.HelloWorld 首先到官网下载并安…

贯穿设计模式--开闭原则

🌵概述 该原则主要说明的是扩展开放,对修改关闭,即尽量通过扩展软件实体类等来解决需求变化,而不是通过修改已有的代码来完成变化;实现开闭原则的核心思想就是面向抽象编程,强调的是用抽象构建框架&#x…

Windows驱动开发必备工具

Windows驱动开发必备工具 设备树文软件 可以查看设备信息 数字签名工具安装包 开发用的数字签名证书密钥 断点命中工具包(双机调试必备) 二进制文件解析工具 日志查看工具(必备) IRP查看工具 C驱动开发相关书籍 有需要工具、书籍…

怎么学习CSS相关技术知识? - 易智编译EaseEditing

学习CSS技术是前端开发中的重要一环,它用于控制网页的样式和布局,使网页更加美观和易于使用。以下是学习CSS技术的几个方面: 基本语法和选择器: 了解CSS的基本语法,学习如何使用选择器来选择HTML元素并应用样式。 样…

vim、awk、tail、grep的使用

vim命令 $定位到光标所在行的行末^定位到光标所在行的行首gg定位到文件的首行G定位到文件的末行dd删除光标所在行ndd删除n行(从光标所在行开始)D删除光标所在行,使之变为空白行x删除光标所在位置字符nx删除n个字符,从光标开始向后…

使用Flutter的image_picker插件实现设备的相册的访问和拍照

文章目录 需求描述Flutter插件image_picker的介绍使用步骤1、添加依赖2、导入 例子完整的代码效果 总结 需求描述 在应用开发时,我们有很多场景要使用到更换图片的功能,即将原本的图像替换设置成其他的图像,从设备的相册或相机中选择图片或拍…

CAD .NET 15.0 企业版 Crack

CAD .NET 15.0 企业版 企业版 企业版 企业版 企业版 Updated: June 14, 2023 | Version 15.0 NEW CAD .NET is a library for developing solutions in .NET environment. It supports AutoCAD DWG/ DXF, PLT and other CAD formats. The library can be used in a wide rang…

visual studio 生成dll文件以及修改输出dll文件名称操作

目录 visual studio 生成dll文件以及修改dll文件名称一、准备测试代码二、设置导出dll属性三、生成dll文件 .lib .dll .pdb 的简单介绍dll文件使用方式lib文件使用方式1、动态链接 (原理)2、静态链接: visual studio 生成dll文件以及修改dll文…

flex 弹性布局

Flex 布局的使用 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; //flex作为display的一个属性使用 } 行内元素也可以使用 Flex 布局。 .box{ display: inline-flex; } 注意:设为 Flex 布局以后,子元素的float、clear和vertical-align…

MySQL做分布式锁

分布式锁mysql实现方式 方式1:唯一索引 创建锁表,内部存在字段表示资源名及资源描述,同一资源名使用数据库唯一性限制。多个进程同时往数据库锁表中写入对某个资源的占有记录,当某个进程成功写入时则表示其获取锁成功其他进程由于…

备战秋招 | 笔试强化22

目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、在有序双向链表中定位删除一个元素的平均时间复杂度为 A. O(1) B. O(N) C. O(logN) D. O(N*logN) 2、在一个以 h 为头指针的单循环链表中,p 指针指向链尾结点的条件是( ) A. p->ne…

小程序云开发快速入门(2/4)

前言 我们对《微信小程序云开发快速入门(1/4)》的知识进行回顾一下。在上章节我们知道了云开发的优势以及能力,并且我们还完成了码仔备忘录的本地版到网络版的改造,主要学习了云数据库同时还通过在小程序使用云API直接操作了云数…

【无标题】uniapp引入萤石云 真机无法运行 踩坑集合

Uniapp 接入萤石云 踩坑 1.先用了 UIKit Javascript 就是在 pc端 那套流程 npm install ezuikit-jsimport EZUIKit from ezuikit-js;这套流程貌似只适用于pc端,我在接入uniapp的时候没看官网 以为都是一套流程,然后就在uniapp中也来了这一套&#xff0…

Linux安装部署并使用Redis(包含Redis Desktop Manager界面化工具)

文章目录 前言一、Redis的简介二、redis的安装与配置(Linux环境)三、redis的使用(Redis Desktop Manager界面化)四、基本命令**String基本命令:****hash基本命令:****List基本命令:****set基本命…

Python高阶技巧 网络编程

Socket ocket (简称 套接字) 是进程之间通信一个工具,好比现实生活中的插座,所有的家用电器要想工作都是基于插座进行,进程之间想要进行网络通信需要socket。 Socket负责进程之间的网络数据传输,好比数据的搬运工。 客户端和服务…

364 · 接雨水 II

链接:九章算法 - 帮助更多程序员找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧 题解: 九章算法 - 帮助更多程序员找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

数据库访问中间件--springdata-jpa的基本使用

二、单表SQL操作-使用关键字拼凑方法 回顾 public interface UserRepository extends JpaRepository<User,Integer> {User findByUsernameLike(String username); }GetMapping("/user/username/{username}")public Object findUserByUsername(PathVariable S…

[回馈]ASP.NET Core MVC开发实战之商城系统(四)

经过一段时间的准备&#xff0c;新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始&#xff0c;在之前的文章中&#xff0c;讲解了商城系统的整体功能设计&#xff0c;页面布局设计&#xff0c;环境搭建&#xff0c;系统配置&#xff0c;及首页【商品类型&#xff0c;ba…

C# Blazor 学习笔记(6):热重置问题解决

文章目录 前言热重置问题描述解决方法演示 总结 前言 我最近在使用Blazor的时候&#xff0c;使用了BootstrapBlazor&#xff08;以下简称BB&#xff09;创建模板的时候&#xff0c;发现热重置无效。经过了一上午的折腾&#xff0c;我终于解决了这个问题。 热重置 问题描述 …

Day12-1-Webpack前端工程化开发

Webpack前端工程化 1 案例-webpack打包js文件 1 在index.html中编写代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><me…