1.2 opencv ,cvzone识别手势发送串口到arduino

本文介绍了如何使用opencv和cvzone库进行手势识别,并将识别结果通过串口发送到Arduino。在创建的两个Python文件中,一个负责摄像头捕获和手势识别,另一个处理串口通信。过程中可能会遇到摄像头驱动问题,解决办法是禁用内置摄像头或更换高质量摄像头。同时,确保所有所需文件在同一目录下,并正确安装了mediapipe和cvzone库。

在同一文件夹中新建两个PY文件,如图

 参考的是国外博主的cvzone库,然后他原来的版本一直出问题,一直揪着detector错误,然后你需要更改一部分内容将import cvzone 改为from cvzone.SerialModule import SerialObject,导入另一个py文件HandTrackingModule

首先,建立main.py,然后代码如下,比较常规的调用摄像头cap = cv2.VideoCapture(0),我还出现一个情况,就是电脑的驱动,你假如是外接的摄像头,你可以把设备管理器里面的原本的摄像头驱动禁用掉,这个时候只有你外接的摄像头,一般是不需要装驱动直接使用的,我呢就买了两个摄像头,第一个装进去的时候,相机一闪一闪,usb识别经常性的闪烁,我问客服,也不懂,然后我就去实体店看了,买了个2k的摄像头,摄像头的像素大小是有限制的,导致你可能定义的大小达不到预想的,仍然是屏幕很窄,尤其在尝试虚拟键盘,需要大画面的时候。

第一个py文件的内容如下,我也是参考别人的:)

from cvzone.SerialModule import SerialObject
import cv2
import HandTrackingModule as htm

#选择对应的串口,设备管理器查看端口
arduino = SerialObject("COM5")

#要选择摄像头,如果没有外接过摄像头,一般是0就行
cap = cv2.VideoCapture(0)
detector = htm.handDet
内容概要:本文详细介绍了一个基于ArduinoOpenCV的视觉追踪项目——制作一个能自动跟踪指定颜色的云台相机。系统通过USB摄像头采集图像,利用OpenCV进行颜色空间转换(RGB转HSV)、阈值分割、形态学处理和轮廓检测,识别目标颜色物体的位置,并通过PID控制算法计算偏差,经串口通信将控制指令发送Arduino,驱动两个SG90舵机实现云台的水平与垂直转动,从而保持目标位于画面中心。文章涵盖项目原理、系统架构、硬件清单、机械组装、电路连接、软件开发(包括Python+OpenCV图像处理程序和Arduino舵机控制程序)、PID参数调优、常见问题排查及项目扩展建议等内容,提供了完整的代码实现与配置说明。; 适合人群:具备基础电子知识和编程能力的创客爱好者、高校学生、自动化或计算机相关专业初学者,以及对计算机视觉与嵌入式控制感兴趣的开发者;有PythonArduino使用经验者更佳; 使用场景及目标:①学习计算机视觉在实际项目中的应用,如颜色识别、图像处理流程;②掌握PID控制算法在闭环反馈系统中的实现;③理解软硬件协同工作机制,包括串口通信、舵机控制与系统集成;④作为教学案例或创新项目原型,进一步拓展为多目标跟踪、深度学习检测或智能监控系统; 阅读建议:建议按照文档顺序逐步实践,先完成硬件组装与电路连接,再分别部署Python端和Arduino端代码,调试时使用提供的校准工具调整HSV参数,并结合PID调优指南优化跟踪稳定性;遇到问题可参考常见故障排查表;鼓励在掌握基础功能后进行功能扩展,如增加激光指示、实现无线控制或多目标识别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值