相机+二维舵机云台的人员追踪

主要需要的电子器件:

MaixPro 相机:视觉处理

ESP32-S3 单片机:系统的控制与通信,处理坐标偏差

二维舵机云台:调整其相机位置

视觉检测:使用 MaixPy 内置的 face_detect

核心代码:

import sensor import image import lcd import time # 初始化LCD、摄像头 lcd.init() sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) # 320x240,平衡帧率和清晰度 sensor.run(1) sensor.skip_frames(time=2000) # 跳过初始模糊帧 # 初始化串口(与ESP32-S3通信,波特率要与ESP32-S3保持一致,比如115200) from machine import UART uart = UART(3, 115200, tx=Pin(4), rx=Pin(5)) # 对应MaixPro的引脚,需实际核对 while True: img = sensor.snapshot() # 采集一帧图像 faces = img.find_face() # 检测人脸 if faces: for face in faces: img.draw_rectangle(face.rect(), color=(255, 0, 0)) # 画框标记人脸 # 计算人脸中心坐标 face_x = face.x() + face.w() // 2 face_y = face.y() + face.h() // 2 img.draw_cross(face_x, face_y, color=(0, 255, 0)) # 标记人脸中心 # 计算与画面中心的偏移量(画面中心:160, 120,对应QVGA分辨率) offset_x = face_x - 160 offset_y = face_y - 120 # 发送偏移数据给ESP32-S3(格式:"X:xxx,Y:yyy\r\n",方便ESP32-S3解析) send_data = f"X:{offset_x},Y:{offset_y}\r\n" uart.write(send_data.encode()) # 显示画面到LCD lcd.display(img) time.sleep_ms(10) # 轻微延时,稳定帧率

通信:UART通信

云台位置矫正:

控制算法:

  • 设定舵机初始位置
  • 接收 MaixPro 传来的偏移量 offset_xoffset_y
  • 计算舵机目标角度:目标角度 = 当前角度 + 偏移量 × 比例系数(比例系数需实际调试,避免云台抖动或响应过慢)。
  • 限制舵机角度范围( 0°~180°)
相关推荐
GlobalInfo13 小时前
相机图像传感器市场需求量、目标客户群体及调查报告2026
人工智能·数码相机·计算机视觉
一起搞IT吧14 小时前
Android功耗系列专题理论之十五:相机camera功耗问题分析方法
android·c++·数码相机·智能手机·性能优化
AomanHao15 小时前
【ISP】搭载海思自研CIS,骁途S7Pro运动相机系列亮相AWE
数码相机·sensor·cmose
随风198716 小时前
halcon5_1
数码相机
普密斯科技2 天前
精准把控每一处细节——FPGA焊点高度精准检测实施方案
人工智能·深度学习·数码相机·计算机视觉·fpga开发·测量
ffreask2 天前
2 硬件选型指南:如何为openclaw选择最佳小龙虾处理设备
数码相机·ai·编程·技术
Bnews2 天前
动作捕捉技术:机器人科研的精准“眼睛”与NOKOV度量动捕的创新实践
数码相机·机器人
Mountain and sea2 天前
工业机器人视觉系统配置与调试完全指南:从硬件选型到实战应用
数码相机·机器人
3DVisionary2 天前
汽车玻璃曲面偏差难控?蓝光3D扫描仪精准把关整车装配面差
人工智能·数码相机·计算机视觉·热失控·xtdic·xtom·动力电池测试
格林威3 天前
Halcon vs OpenCV 速度对比(表格)
人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测·halcon