【EPS32S3学习笔记】ESP32+OPENCV+人脸识别 本地部署

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

从https://github.com/joachimBurket/esp32-opencv的TTGO Demo到想要人脸识别(或者其他检测)在opencv上运行,主要需要实现的就是objdetect库的静态编译。下面一步步把我的实现过程分享一下,由于对C++的不熟悉,中间走了一些弯路,感谢ChatGPT,作为工作小助手来说,实在是表现得不错。

ESP32+OPENCV+FaceDetect


提示:以下是本篇文章正文内容,下面案例可供参考
前提环境:ubuntu20.04

一、修改.sh文件,将objdetect库链接进来

在源文件目录下,找到esp32-opencv-master/esp32s3/scripts/文件夹,打开build_opencv_for_esp32s3.sh。(使用esp32目录下得也是可以的,针对得芯片不同)

# list of modules to compile
OPENCV_MODULES_LIST=core,imgproc,imgcodecs,objdetect,zlib

修改modules_list,将objectect添加进去。zlib好像本身core已经包含了,可以不添加。
之后运行.sh文件,编译完成之后,印象里会提示flann相关的有一个接口不可用,不可用的原因可能是跟GCC及编译器的缘由,错误类型是一些语法方面的警告,存在风险。这里可以可以直接屏蔽相关语句,把错误跳过去。
之后就可以完成静态库的编译,当然这只是第一步。

二、增加loadFromMemory接口

了解了一下C++和python环境下,opencv实现人脸识别的程序代码。可以参考:https://blog.csdn.net/new9232/article/details/127288336
第一步都是要加载用于检测的CascadeClassifier文件(级联分类器)。对于windows、linux、android这些操作系统来说,这是非常简单的,因为本身都有非常完善的文件系统。而ESP32S3本身是不带文件系统的,当然可以在esp32上运行MicroPython系统,但是怎样将opencv集成到上面,如何在上面运行之前实现的功能(屏幕、触摸、摄像头等),都是一些难题。所以还是在现有的框架下想办法。
也是看了load接口的源码收到一些启发。

bool CascadeClassifierImpl::load(const String& filename)
{
   
    oldCascade.release(
要在ESP32-S3上实现人脸识别,你可以按照以下步骤进行操作: 1. 在你的ESP32-S3源文件目录下,找到`esp32-opencv-master/esp32s3/scripts/`文件夹,并打开`build_opencv_for_esp32s3.sh`脚本文件。这个脚本文件用于编译OpenCV库的不同模块,确保在`OPENCV_MODULES_LIST`变量中包含了`core`,`imgproc`,`imgcodecs`,`objdetect`,`zlib`等人脸识别所需的模块。 2. 在ESP32-S3上连接到ESP32-EYE的热点。可以在手机的设置中找到Wi-Fi连接,并选择连接到ESP32-EYE的热点。然后在浏览器中输入`192.168.1.4/face_stream`,你将能够看到ESP32-EYE摄像头上的图像。 3. 使用从https://github.com/joachimBurket/esp32-opencv的TTGO Demo作为基础,开始编写你的人脸识别代码。在这个Demo中,你将需要使用`objdetect`库来实现人脸检测。通过将这个库进行静态编译,你可以在ESP32-S3上运行人脸识别或其他检测功能。 以上是在ESP32-S3上实现人脸识别的一般步骤。你可以根据具体的需求和代码库进行调整和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【EPS32S3学习笔记ESP32+OPENCV+人脸识别 本地部署](https://blog.csdn.net/lunzilx/article/details/130192521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ESP32-S3-EYE开发板开箱体验 esp-who](https://blog.csdn.net/u012294613/article/details/129673477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的Lunzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值