2023年使用ESP32-CAM的10个伟大人工智能项目
目录
- ESP32-CAM 程序编写器
- 在 ESP32-CAM 上运行 OpenCV
- 物体计数项目
- 自制人工智能摄像头
- 使用手势控制的虚拟鼠标
- 家庭自动化系统
- 智能机器人
- 二维码扫描器
- 低成本监控摄像头
- 邮件监测系统
ESP32-CAM 程序编写器
要编写 ESP32-CAM 板的程序是一项有些繁琐的任务,因为我们需要按下位于板背面的复位按钮。为了简化这一过程,techiesms 开发了这款 ESP32 编程器。我们只需将 ESP32-CAM 插入编程器中,将其连接到 USB,上传代码,然后ESP32-CAM 就可以在无需按下复位按钮的情况下完成编程。除了 ESP32-CAM,我们还可以在不添加或移除任何组件的情况下编程其他板子,如 ESP32 芯片和Arduino Pro-Mini。该板可以在3.3V逻辑和5V逻辑中正常工作。
在 ESP32-CAM 上运行 OpenCV
在 ESP32-CAM 上运行 OpenCV 并不容易,但是通过按照这个项目的步骤,您可以做到。ESP32-CAM 会实时捕捉图像,并使用 OpenCV 库进行边缘检测。代码运行后,屏幕会显示 TTGO 演示三秒钟。之后会反复执行 RGB 模式、灰度模式、二值化模式和边缘模式。边缘检测需要最多的计算能力,因此所显示的图像的帧率较低。但平均情况下,图像的帧率约为6FPS。
物体计数项目
如果要计算一些有限数量的对象是很容易的,但如果数量很大,那么您肯定需要一些帮助。这个小项目可以对物体进行检测,它使用一种逐步的图像或帧转化方法。首先,将RGB图像转换为灰度图像,以便可以看到颜色对比度,并且可以轻松执行数学运算。然后,对图像进行模糊处理以混合颜色,并使用边缘检测来检测边缘。最后,为了正确地连接检测到的边缘,对图像进行膨胀处理。通过这种方式,可以检测到封闭图形的数量,并将其打印在串行监视器上。
自制人工智能摄像头
如果您想制作自己的人工智能摄像头,请务必尝试这个项目。埃里克在一个硬纸板盒子内放置了一个 ESP32-CAM,上面安装了一个捕捉图像的按钮和一个用于显示捕捉图像的屏幕。那它是如何告诉我们物体的细节的呢?首先,ESP32-CAM 捕捉图像并将其上传到 NodeJS 服务器,然后调用 Google Vision API 获取图像注释。一旦识别出物体,图像将通过相同的过程返回到 ESP32-CAM。通过这样,您可以获取您想要的任何物体的详细信息。
手势控制虚拟鼠标
使用这个项目,您将能够使用 Python 检测手部和手指,并将其实现为手势控制的虚拟鼠标。在这个演示代码中,我们使用一个网络摄像头可以看到图像识别是如何工作的。使用食指可以在任何方向上移动光标。要点击特定位置,将中指向下移动,同时保持食指向上。要在 ESP32-CAM 上使用它,您只需要修改代码中的尺寸和帧率。其他所有内容将保持不变。
家庭自动化系统
如果您想使用一个单一的控制面板全面自动化家庭,那么这个项目将对您有帮助。使用这个项目,您将学习如何在家庭助理平台上流式传输实时视频,并使用相同平台控制各种设备的状态。如果选择较高的分辨率,视频流会开始出现延迟,所以请尽量保持分辨率较低。面板运行在局域网上,请确保将每个设备连接到同一个网络。
智能机器人
如果您想制作一个智能机器人,那么请务必尝试这个项目。这个机器人不仅可以在指定的车道上移动,而且还可以轻松地检测和跟踪物体。该机器人使用一个 Android 应用程序进行控制。ESP32-CAM 将视频流传输到应用程序上进行图像处理。它可以快速高效地检测物体,并具有低延迟。相机的平移和倾斜运动通过舵机电机实现。目前,机器人的底盘使用硬纸板和棍子制作,但可以使用金属进行升级。
二维码扫描器
通过这个项目,您将学会如何使用 ESP32-CAM 模块和 OpenCV 来制作一个二维码扫描器。根据二维码可以存储的信息量,有不同版本的二维码可供选择。使用这个项目,甚至可以解码复杂的二维码。要解码任何二维码,您将需要一个 Python 库。代码从 ESP32-CAM 提取帧,并使用库函数解码数据。解码后的数据将打印在屏幕上。
低成本监控摄像头
如果您想用低成本制作一个监控摄像头,请确保尝试这个项目。这款摄像头本身可以检测运动,不需要 PIR 传感器。当检测到运动时,它会通过 Telegram 应用程序向您发送一条消息通知。如果您有互联网连接,您可以从任何地方查看入侵者的图像和短片,并采取必要的措施。通过这个项目,您的场地将得到保护,并且成本有限。
邮件监测系统
有时候,等待邮件或包裹的到来会让人感到沮丧。而反复检查您的邮箱并不是一个实际的选择。在这种情况下,您可以使用这个邮件监测系统。当任何包裹被投放到您的邮箱中时,一个开关将被触发,ESP32 摄像头模块将会拍摄一张该包裹的照片,并直接发送到您的 Telegram Messenger。这张照片的分辨率很好,将帮助您区分哪个包裹已经到达。
结尾
这些是一些您可以尝试的 ESP32-CAM 项目。