嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现

这篇具有很好参考价值的文章主要介绍了嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言:

        这个项目主要分为两部分,客户端(ARM板端)负责利用OpenCV采集人脸数据,利用TCP将人脸数据发送给服务器,然后服务器根据人脸数据进行人脸识别,将识别后的结果返还给客户端,客户端对人脸数据进行解析,得到正确的人脸数据后,打开门锁。门锁涉及硬件操作,这一部分进行驱动的编写、注册与调用等。

项目分为以下几部分内容:

1、项目环境搭建

       1) OpenCV利用Cmake进行编译并导入QT,保证OpenCV可以在服务器端调用;

       2)OpenCV利用Cmake进行交叉编译,移植到ARM端,同时修改相关动态链接库lib,保证OpenCV可以在ARM端进行调用,完成环境图像信息采集工作;

       3)ARM端配置相关的QT运行环境;

       4)在Ubuntu虚拟机中配置QT交叉编译环境,利用QT对客户端程序进行交叉编译,然后移植到ARM端。

2、客户端实现功能

        1)TCP连接。首先建立TCP连接,保证能够和服务器进行通信

        2)数据采集与转换发送。利用Open CV采集Mat图像数据,将图像数据进行两次格式转换,第一次转换是为了将图像在ARM端的LCD屏幕显示,这里将图像转成JPG格式,第二次转换是为了进行数据发送,需要将图像处理为2进制文件,图像发送,利用TCP建立连接,将转换后的二进制数据通过数据流发送

        3)数据接收。客户端同时完成数据接收功能,对JSON数据进行解析,JSON数据由服务器发送过来,数据内容为人脸识别后的人员信息结果。

        4)门禁驱动程序。人脸识别成功,门锁打开的驱动程序编写。这里主要是使用Linux字符设备驱动,通过fileoperation结果体进行响应的open、read函数等进行编写,考虑到分层思想,将程序和硬件进行分层设计,通过Platform总线等进行编写,编写完成后,修改设备树,定义硬件连接端口。

3、服务器端实现功能

        1)建立数据库。一个用来存储人脸注册信息,一个用来存储人脸识别信息,一个用来存储人员进出大门信息。

        2)注册信息。注册界面QT设计,完成注册信息的数据库上传

        3)人脸识别引擎构造。主要用来识别人脸信息,查询人脸信息

        4)识别信息发送至客户端。主要是根据识别的人脸id进行数据库信息查询,将查询的数据打包程JSON数据,利用socket进行发送

        5)细节阐述。服务器程序相对复杂,里面也涉及到图像数据转换、多线程检测与识别等等,后续展开详细分析。

        下面是项目实现图片的一些展示:

服务器端人脸完成注册:

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 数据库完成信息录入:

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 客户端接收人脸识别数据:

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

二、ARM板硬件信息:

        STM32MP157板,Linux系统版本为5.4,OpenCV版本为4.5.2,usb摄像头一个,电磁开关一个(门锁)。 

三、项目环境搭建:

1、各种需求包下载

1)cmake安装

下载链接:https://github.com/Kitware/CMake/releases/download/v3.24.1/cmake-3.24.1-windows-x86_64.msi2)QT下载安装,大家可以去QT官网下载

        Window-qt5.14.2下载安装安装

https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe

        linux- qt5.14.2下载安装安装

https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-linux-x64-5.14.2.run

        mac-qt5.14.2下载安装

https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg

3)OpenCV下载

        Opencv官网下载opencv4.5.2源码, 和opencv_contrib-4.5.2源码

http:// https://opencv.org/releases/    下载Sources压缩文件即可。(opencv4.5.2)

        然后下载opencv_contrib-4.5.2

https://github.com/opencv/opencv_contrib.git

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

2、Windows端QT中配置OpenCV

 1)将上述包进行解压

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 2)QT进行OpenCV编译

         配置编译器

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

       在QT中打开opencv4.5.2目录下CMakeList.txt

 嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

等待一段时间,显示配置完成,如下图中的红框所示

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 此时不要直接去编译,建议先修改安装路径,并且进行第三方模块选择,点击项目继续进行配置。

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 添加face模块

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 选择OpenCV编译后的安装路径

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 选择安装

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 点击配置后编译

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

编译时,选择release版本,qt新手可能会不知道如何配置release版本?点击下图中绿色箭头上边的小电脑进行配置。

 嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现,嵌入式,计算机视觉,linux,arm开发,qt,驱动开发,嵌入式硬件

 3)人脸识别算法库下载

GitHub - SeetaFace6Open/index

3、Ubuntu中配置QT交叉编译环境

        

先写这些,后边有空再给大家更新,大家评论区扣1 或者私信我,获取更多项目信息文章来源地址https://www.toymoban.com/news/detail-684642.html

到了这里,关于嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包