QT----基于QT的人脸考勤系统ubuntu系统运行,编译开发板

目录

  • 1 Ubantu编译opencv和seetaface库
    • 1.1 Ubantu编译opencv
    • 1.2 Ubuntu编译seetaface
    • 1.3 安装qt
  • 2 更改代码
    • 2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory
    • 2.2 遇到报错摄像头打不开
    • 2.3 修改部分代码
    • 2.4 解决中文语音输出问题
  • 3 尝试交叉编译rk3588开发板(未完成)

1 Ubantu编译opencv和seetaface库

记住qt下载的这个x86的安装包,不能在开发板上安装,开发板arm架构的。
首先,吧上边用到的三个文件夹都拷贝到乌班图系统里,opencv是源文件,不是从windows里复制的

在这里插入图片描述

1.1 Ubantu编译opencv

先安装库
sudo apt install open-vm-tools
sudo apt install gcc
sudo apt install g++
sudo apt install cmake-gui

在opencv的目录里新建一个build文件夹用于存放我们编译的opencv,在里边打开终端cmake-gui ..下边config选择UNIx,finish
在这里插入图片描述

修改安装路径,把opencv_world,v4l勾选上方便后期打包库,extra选择第三方库的人脸识别模块,点击Generate。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

回到终端,输入make -j4开始编译,编译完成后输入make install

1.2 Ubuntu编译seetaface

同样是在源代码目录下新建一个build文件夹作为编译的目录,右击打开终端cmake-gui ..,打开cmake,config选择使用Unix。

在这里插入图片描述

修改安装路径为刚刚安装opencv的路径,方便后边的使用,修改open_dir为安装路径\lib\cmake\opencv4,点击生成,关闭gui,终端里输入make -j4,编译完成后输入sudo make install

在这里插入图片描述

1.3 安装qt

https://www.qt.io/download-qt-installer-oss?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4
记住这个x86的安装包,不能在开发板上安装,开发板arm架构的。把安装包放入虚拟机,执行一下命令进行安装
sudo chmod -R 777 qt-unified-linux-x64-4.7.0-online.run更改权限
./qt-unified-linux-x64-4.7.0-online.run直接运行然后就是和windows一样的安装界面,选择qt版本5.15.2的全部内容,其他默认,安装
在这里插入图片描述

2 更改代码

首先需要更改.pro的include和lib

#window平台opencv,seetaface环境
win32{
INCLUDEPATH += E:\Environment\opencv452\include
INCLUDEPATH += E:\Environment\opencv452\include\opencv2
INCLUDEPATH += E:\Environment\SeetaFace2\include
INCLUDEPATH += E:\Environment\SeetaFace2\include\seeta
LIBS += E:\Environment\opencv452\x64\mingw\lib\libopencv*
LIBS += E:\Environment\SeetaFace2\lib\libSeeta*
}

#linux平台opencv seetaface环境
unix{
LIBS += -L/home/bft/Environment/opencv-452/lib -lopencv_world \
-lSeetaFaceDetector \
-lSeetaFaceLandmarker \
-lSeetaFaceRecognizer \
-lSeetaFaceTracker \
-lSeetaNet \
-lSeetaQualityAssessor \

INCLUDEPATH += /home/bft/Environment/opencv-452/include/opencv4
INCLUDEPATH += /home/bft/Environment/opencv-452/include/opencv4/opencv2
INCLUDEPATH += /home/bft/Environment/opencv-452/include
INCLUDEPATH += /home/bft/Environment/opencv-452/include/seeta
}

2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory

发现是ubuntu有个库没装,运行这两句代码
sudo apt-get update sudo apt-get install libglu1-mesa-dev freeglut3-dev

2.2 遇到报错摄像头打不开

在这里插入图片描述

发现我的摄像头还没有连接到虚拟机,打开终端cd /dev在输入ls查看设备,我是usb摄像头拔插来查看,可以看到插入时多了video0和video1那这就是我的摄像头
在这里插入图片描述

摄像头打开也有问题,所以程序会崩溃,需要打开虚拟机设置,设置为usb3.1,测试摄像头显示就正常了
在这里插入图片描述在这里插入图片描述

2.3 修改部分代码

客户端修改导入级联分类器路径
cascade.load("./haarcascade_frontalface_alt2.xml");
查询windowsip,填入,启动客户端和服务器
成功连接,但是中文语音输出有问题
在这里插入图片描述

2.4 解决中文语音输出问题

按照网上的方法尝试暂未解决

3 尝试交叉编译rk3588开发板(未完成)

纯真丁一郎博客点击访问:有时间就要学习

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

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

相关文章

QTabWidget的tabbar不同方向显示 文字方向设置 图标跟随变化 实现方式 qt控件绘制原理

先来看结果图:(参考博客:QTabWidget中tab页文本水平或垂直设置_pyqt tab_widget.settabposition(qtabwidget.west) 字体-CSDN博客) 从图中可知,"普通"是qt自己的样式,但是很明显,在垂…

SpringBoot Starter解析

conditional注解解析 介绍 基于条件的注解作用: 根据是否满足某一个特定条件决定是否创建某个特定的bean意义: Springboot实现自动配置的关键基础能力 常见的conditional注解 ConditionalOnBean: 当容器中存在某个Bean才会生效ConditionalOnMissingBean: 不存在某个Bean才会…

JavaEE企业级分布式高级架构师课程

教程介绍 本课程主要面向1-5年及以上工作经验的Java工程师,大纲由IT界知名大牛 — 廖雪峰老师亲自打造,由来自一线大型互联网公司架构师、技术总监授课,内容涵盖深入spring5设计模式/高级web MVC开发/高级数据库设计与开发/高级响应式web开发…

【ESP32S3 Sense接入百度在线语音识别】

视频地址: ESP32S3 Sense接入百度在线语音识别 1. 前言 使用Seeed XIAO ESP32S3 Sense开发板接入百度智能云实现在线语音识别。自带麦克风模块用做语音输入,通过串口发送字符“1”来控制数据的采集和上传。 步骤概括    (1) 在百度云控制端选择“语音…

【从零开始学习Redis | 第七篇】认识Redis底层数据结构

目录 前言: 动态字符串SDS: SDS的优势: IntSet: IntSet的特点: Dict: Dict的扩容: ​编辑 Dict的收缩: Rehash: Dict的特点: 总结&#xff1…

uniapp-Form示例(uviewPlus)

示例说明 Vue版本&#xff1a;vue3 组件&#xff1a;uviewPlus&#xff08;Form 表单 | uview-plus 3.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架&#xff09; 说明&#xff1a;表单组建、表单验证、提交验证等&#xff1b; 截图&#xff1a; 示例代码 <templat…

C++入门:类和对象(上)

类和对象重点解析 1.类的定义1.类的访问限定符及封装1.C实现封装的方式2.访问限定符注意 3.封装 2.类对象模型2.1类对象存储方式2.2类对象的大小2.2.1结构体内存对齐原则2.2.2为什么要内存对齐 3.this指针3.1this指针的引出3.2this指针的特性3.3this指针的存储3.4this指针可以为…

Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。

demo案例 Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。下面是它的详细讲解&#xff1a; 构造函数: OrbitControls(object: Camera, domElement?: HTMLElement)object&#xff1a;THREE.Camera 实例&#xff0c;控制器将围绕…

Kafka快速入门及使用

入门 官网 简介 Kafka是一个分布式的流媒体平台应用&#xff1a; 消息系统日志收集用户行为追踪流式处理 特点 高吞吐量消息持久化高可靠性高扩展性 常用术语 Broker&#xff1a;集群中的服务器Zookeeper&#xff1a;服务管理Topic&#xff1a;主题&#xff0c;Kafka发…

Attention Is All You Need若如爱因斯坦的相对论,Transformer模型则堪称E=MC^2之等量公式

Transformer模型已经成为当前所有自然语言处理NLP的标配&#xff0c;如GPT&#xff0c;Bert&#xff0c;Sora&#xff0c;LLama&#xff0c;Grok等。假如《Attention Is All You Need》类比为爱因斯坦的侠义相对论&#xff0c;Transformer模型则堪称EMC^2之等量公式。 看过论文…

IDEA Android新建项目基础

title: IDEA Android基础开发 search: 2024-03-16 tags: “#JavaAndroid开发” 一、构建基本项目 在使用 IDEA 进行基础的Android 开发时&#xff0c;我们可以通过IDEA自带的新建项目功能进行Android应用开发基础架构的搭建&#xff0c;可以直接找到 File --> New --> …

数据库管理开发工具Navicat for MySQL Mac版下载

Navicat for MySQL&#xff08;Mac版&#xff09;是一款强大的数据库管理开发工具&#xff0c;专为MySQL设计。它提供直观的用户界面&#xff0c;支持数据建模、查询构建、数据传输等功能&#xff0c;帮助用户轻松管理数据库。其特点包括高效的数据处理能力、安全的数据传输机制…

【算法与数据结构】 C语言实现单链表队列详解

文章目录 &#x1f4dd;队列&#x1f320; 数据结构设计&#x1f309;初始化队列函数 &#x1f320;销毁队列函数&#x1f309;入队函数 &#x1f320;出队函数&#x1f309;获取队首元素函数 &#x1f320;获取队尾元素函数&#x1f309; 判断队列是否为空函数&#x1f309;获…

HTTPS:原理、使用方法及安全威胁

文章目录 一、HTTPS技术原理1.1 主要技术原理1.2 HTTPS的工作过程1.2.1 握手阶段1.2.2 数据传输阶段 1.3 HTTPS的安全性 二、HTTPS使用方法三、HTTPS安全威胁四、总结 HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff09;&am…

ARM:按键中断

key_inc.c #include"key_inc.h"void key1_it_config(){//使能GPIOF外设时钟RCC->MP_AHB4ENSETR | (0x1<<5);//将PF9设置为输入模式GPIOF->MODER & (~(0x3<<18));//设置由PF9管脚产生EXTI9事件EXTI->EXTICR3 & (~(0XFF<<8));EXTI…

【HarmonyOS】ArkUI - 页面路由

一、概念 页面路由是指在应用程序中实现不同页面之间的跳转和数据传递。 案例&#xff1a;第一次使用某个购物应用&#xff0c;打开时肯定会是一个登录页&#xff0c;在登录成功以后&#xff0c;会跳转到首页&#xff0c;然后可能会去搜索&#xff0c;就会进入到搜索列表页&am…

掌握Python中re模块的正则表达式应用与技巧【第155篇—正则表达式】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 掌握Python中re模块的正则表达式应用与技巧 Python 中的 re 模块是用于处理正则表达式的强…

[SAP MM] 名词专业术语解释

采购凭证 采购凭证通常是一种证明文件&#xff0c;用于记录和跟踪特定时间点的采购活动 采购凭证是指企业在采购物品或服务时所开立的一种凭证&#xff0c;用于记录采购的信息和流程 采购凭证通常包括采购申请、采购订单、采购合同等&#xff0c;其中采购订单是最常用的采购…

PCB中常用电子器件封装学习——【一网打尽】

‘ 上图是这个世界上大概所有的封装种类&#xff0c;当然我们日常硬件电路设计肯定用不到这么多&#xff0c;接下来我将介绍几种工程上常用的封装&#xff0c;配以图片方便大家理解学习。在电子器件选型的时候&#xff0c;避免选择到一些非常难以焊接的封装电子器件。

Acrobat Pro DC ----专业PDF编辑与管理

Acrobat Pro DC 2023是一款功能强大的PDF处理软件&#xff0c;它提供了丰富的编辑工具&#xff0c;支持创建、编辑、合并、分割PDF文件&#xff0c;以及高质量的PDF到其他格式的转换功能。同时&#xff0c;该软件集成了最新的OCR技术&#xff0c;可将扫描文档或图片转换成可编辑…