espwho-esp32cam-vscode开发使用

文章目录

  • espwho简介
  • vscode环境
  • espwho代码拉取
  • 以终端显示人脸识别示例
  • 头文件等包含问题解决
    • 添加menuconfig
    • 验证效果
  • 检测演示
    • 人脸检测
    • 猫脸检测
    • 二维码检测

espwho github链接

espwho简介

ESP-WHO 提供了例如人脸检测、人脸识别、猫脸检测和二维码识别等示例。您可以基于这些示例,衍生出来的实际应用。ESP-WHO 的运行基于 ESP-IDF。ESP -DL为ESP-WHO 提供了深度的深度学习相关接口,配合各种外设可以实现许多单一的应用。

espwho-esp32cam-vscode开发使用_第1张图片

vscode环境

ctrl+shift+x 搜索IDF,点击安装
espwho-esp32cam-vscode开发使用_第2张图片
安装得后续步骤我就不重复说了,具体参照步骤
vscode-esp-idf-extension install

espwho代码拉取

两个方式

  1. 使用git
    git clone --recursive https://github.com/espressif/esp-who.git

  2. 直接下载包
    点击下载

拉取完后,我们可以看见其构造如下

├── examples
│   ├── cat_face_detection          // 猫脸检测示例
│   │   ├── lcd                     // 结果显示方式为 LCD 屏
│   │   └── terminal                // 结果显示方式为终端
│   ├── code_recognition            // 一维码/二维码识别示例
│   ├── human_face_detection        // 人脸检测示例
│   │   ├── lcd
│   │   └── terminal
│   ├── human_face_recognition      // 人脸识别示例
│   │   ├── lcd
│   │   ├── terminal
│   │   └── README.md               // 示例的具体说明
│   └── motion_detection            // 移动侦测示例
│       ├── lcd 
│       ├── terminal
│       ├── web                       //显示结果方式为网页
│       └── README.rst              

这里有5个例子:猫脸检测示例、一维码/二维码识别示例、人脸检测示例、 人脸识别示例以及移动侦测示例,其中显示方式分为LCD屏幕显示,终端显示以及网页显示

以终端显示人脸识别示例

因为涉及到开发环境,因此我们首先建立一个空白得模板,然后把模板中得部分环境相关配置复制到该文件夹中

ctrl+shift+p输入espidf creat
espwho-esp32cam-vscode开发使用_第3张图片

选择一个文件夹
espwho-esp32cam-vscode开发使用_第4张图片

使用模板app
espwho-esp32cam-vscode开发使用_第5张图片
这个不用选择ESC即可
espwho-esp32cam-vscode开发使用_第6张图片
然后打开我们下载得espwho文件夹中,进入esp-who\examples\human_face_detection\terminal
将我们新建模板工程的.vscode文件夹复制到该文件夹中

espwho-esp32cam-vscode开发使用_第7张图片
然后打开进入上级目录,用vscode打开terminal文件夹
espwho-esp32cam-vscode开发使用_第8张图片

头文件等包含问题解决

espwho-esp32cam-vscode开发使用_第9张图片
这个时候大概率你的程序会报找不到头文件等小警告,有些也不能补全,这是因为在espwho这个文件中有很多这个工程用到的头文件和函数,我们并没有配置环境变量去找到他们
espwho-esp32cam-vscode开发使用_第10张图片
打开c_cpp_properties在browse的path中增加你esphome的文件夹路径,注意后面是**表示递归搜索的含义,必须要这样写
espwho-esp32cam-vscode开发使用_第11张图片
完成后,就不会报头文件的问题了

因为我们需要使用menuconfig来配置工程,因此我们需要在任务中添加我们的menuconfig选项

添加menuconfig

打开.vscode/tasks.json
在task中添加如下段
注意看一个花括符包起来的,前后的逗点不要少了,如果对这个感觉困惑的,查看json数据格式
espwho-esp32cam-vscode开发使用_第12张图片

        {
     
            "label": "menuconfig",
            "type": "shell",
            "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build",
            "windows": {
     
                "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py menuconfig",
                "options": {
     
                    "env": {
     
                        "PATH": "${env:PATH};${config:idf.customExtraPaths}"
                    }
                }
            },
            "options": {
     
                "env": {
     
                    "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
                }
            },
        },

完成后,我们就可以开始配置工程了,选择上方工具栏,点击终端->运行任务->menuconfig
(请注意你的默认终端一定要是powershell或者cmd,不能是gitbash之类的)
espwho-esp32cam-vscode开发使用_第13张图片
espwho-esp32cam-vscode开发使用_第14张图片
在这里插入图片描述

通过jk下上,通过空格选中,通过esc返回
我们需要配置Component config->ESP-WHO Configuration->Camera Configuration->Select Camera Pinout
选择我们的ESP32-CAM by AI-Thinker
然后一路ESC保存返回,Y同意退出

退出后使用ctrl+shift+b进行编译,或者还是刚才的运行任务Build build project
这里我已经编译过了

完成后,我们将esp32cam插入,然后点击下面状态栏选择端口

在这里插入图片描述
然后,选择flash进行烧录,这些功能在运行任务中都还是有的(注意esp32cam需要进行下载模式才能够烧录(IO0要连接GND重启一下就可以进入下载模式了))
在这里插入图片描述

验证效果

点击下面状态栏的monitor即可连接串口监视
在这里插入图片描述
将摄像头对准自己的时候,可以看到识别的你脸位置的信息

检测演示

人脸检测

猫脸检测

二维码检测

espwho-esp32cam-vscode开发使用_第15张图片

你可能感兴趣的