如何用OpenCV进行手势识别--基于米尔全志T527开发板
2024-12-13
1451
来源:米尔电子
摘自优秀创作者-小火苗

一、软件环境安装
1.安装OpenCV
sudo apt-get install libopencv-dev python3-opencv

2.安装pip
sudo apt-get install python3-pip

二、OpenCV手势识别步骤
1.图像获取:从摄像头或其他图像源获取手部图像。使用OpenCV的VideoCapture类可以捕获视频流,或者使用imread函数加载图像。
灰度化:将彩色图像转换为灰度图像,去除颜色信息,简化图像。 滤波:使用滤波器去除图像中的噪声。 边缘检测:使用边缘检测算法提取图像中的边缘信息。 二值化:将灰度图像转换为二值图像,将像素值分为黑色和白色。 形态学处理:使用形态学操作增强手势轮廓。
形状特征:提取手部轮廓、面积、周长、质心等形状特征。 纹理特征:提取手部皮肤纹理、皱纹等纹理特征。 运动轨迹特征:提取手部运动轨迹、速度、加速度等运动轨迹特征。
4.分类和识别:使用机器学习算法对提取的特征进行分类,以识别特定的手势。
三、代码实现
# -*- coding: utf-8 -*-
import cv2
def reg(x):
o1 = cv2.imread('paper.jpg',1)
o2 = cv2.imread('rock.jpg',1)
o3 = cv2.imread('scissors.jpg',1)
gray1 = cv2.cvtColor(o1,cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(o2,cv2.COLOR_BGR2GRAY)
gray3 = cv2.cvtColor(o3,cv2.COLOR_BGR2GRAY)
xgray = cv2.cvtColor(x,cv2.COLOR_BGR2GRAY)
ret, binary1 = cv2.threshold(gray1,127,255,cv2.THRESH_BINARY)
ret, binary2 = cv2.threshold(gray2,127,255,cv2.THRESH_BINARY)
ret, binary3 = cv2.threshold(gray3,127,255,cv2.THRESH_BINARY)
xret, xbinary = cv2.threshold(xgray,127,255,cv2.THRESH_BINARY)
contours1, hierarchy = cv2.findContours(binary1,
cv2.RETR_LIST,
cv2.CHAIN_APPROX_SIMPLE)
contours2, hierarchy = cv2.findContours(binary2,
cv2.RETR_LIST,
cv2.CHAIN_APPROX_SIMPLE)
contours3, hierarchy = cv2.findContours(binary3,
cv2.RETR_LIST,
cv2.CHAIN_APPROX_SIMPLE)
xcontours, hierarchy = cv2.findContours(xbinary,
cv2.RETR_LIST,
cv2.CHAIN_APPROX_SIMPLE)
cnt1 = contours1[0]
cnt2 = contours2[0]
cnt3 = contours3[0]
x = xcontours[0]
ret=[]
ret.append(cv2.matchShapes(x,cnt1,1,0.0))
ret.append(cv2.matchShapes(x,cnt2,1,0.0))
ret.append(cv2.matchShapes(x,cnt3,1,0.0))
max_index = ret.index(min(ret)) #计算最大值索引
if max_index==0:
r="paper"
elif max_index==1:
r="rock"
else:
r="sessiors"
return r
t1=cv2.imread('test1.jpg',1)
t2=cv2.imread('test2.jpg',1)
t3=cv2.imread('test3.jpg',1)
# print(reg(t1))
# print(reg(t2))
# print(reg(t3))
# ===========显示处理结果==================
org=(0,60)
font = cv2.FONT_HERSHEY_SIMPLEX
fontScale=2
color=(255,255,255)
thickness=3
cv2.putText(t1,reg(t1),org,font,fontScale,color,thickness)
cv2.putText(t2,reg(t2),org,font,fontScale,color,thickness)
cv2.putText(t3,reg(t3),org,font,fontScale,color,thickness)
cv2.imshow('test1',t1)
cv2.imshow('test2',t2)
cv2.imshow('test3',t3)
cv2.waitKey()
cv2.destroyAllWindows()四、实践
1.程序运行

2、原始图像包含训练图像

3.识别结果
识别到了 剪刀 石头 布

原始图片


米尔T527开发板7折起,点击链接了解更多:
https://detail.tmall.com/item.htm?id=758523182967
2025-11-13
助力V2G,SECC GreenPHY实战开发
随着电动汽车与电网双向交互(V2G)技术的快速发展,充电桩与车辆间的高效通信成为实现智能能源管理的关键。SECC作为充电桩的通信控制核心,其与电力线载波通信芯片的适配尤为重要。本文将分享基于米尔核心板,调试联芯通MSE102x GreenPHY芯片的实战经验,为V2G通信开发提供参考。MSE102x芯片介绍联芯通MSE102x系列芯片是一款专注于电动汽车充电通信和智能能源管理的GreenPHY电力
2025-11-13
定制未来,共建生态,米尔出席安路研讨会
在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年11月12日,米尔出席安路科技2025 AEC FPGA技术沙龙•北京专场,与技术专家及行业伙伴齐聚一堂,探讨前沿技术趋势,解锁场景化定制方案,共建开放共赢的FPGA新生态!米尔活动现场论坛上,米尔电子产品经理Jeson发表题为“基于DR1M90 FPSOC的工业应用方案”的演讲。演讲介绍了米尔作为嵌入式领域的领军企业,在
2025-11-11
RK3576开发板
RK3576开发板是米尔电子推出的开发板,于2024年10月上市。RK3576开发板是基于瑞芯微RK3576搭载了四核A72与四核A53处理器,主频2.2GHz。RK3576集成了6TOPS的NPU,支持多种深度学习框架,能够处理复杂的AI算法,提高监控效率,降低误报率。RK3576的主芯片采用了八核大小核架构,包括四核Cortex-A72和四核Cortex-A53,
2025-11-11
RK3576核心板
RK3576核心板是深圳米尔电子旗下产品,是基于瑞芯微RK3576搭载了四核A72与四核A53处理器,主频高达2.2GHz。RK3576集成了6TOPS的NPU,支持多种深度学习框架,能够处理复杂的AI算法,提高监控效率,降低误报率。RK3576的主芯片采用了八核大小核架构,包括四核Cortex-A72和四核Cortex-A53,主频分别高达2.2GHz和1.8GHz,CPU算力达58K DMIP
2025-11-06
米尔SECC方案助力国标充电桩出海
随着电动汽车与电网融合加速,国标(GB/T 27930)充电桩出海面临欧标(ISO 15118 / DIN 70121)兼容挑战。米尔电子的 SECC (供电设备通信控制器) 方案,实现协议转换、安全通信及参考开发平台,助力充电桩厂商快速进军海外市场。
2025-11-06
MYD-LD25X Cortex-M33实时核开发实战解析
在嵌入式系统设计中,如何平衡高性能计算与实时控制一直是工程师面临的挑战。STM32MP257的异构架构为这一难题提供了优雅的解决方案,而其中的Cortex-M33实时核更是实现硬实时性能的关键所在。一、异构架构:分工明确,效能卓越STM32MP257采用创新的双核子系统设计:Cortex-A35应用核(双核1.5GHz):运行Linux系统,负责复杂UI、网络通信、文件管理等非实时任务。Corte
2025-10-30
米尔RK3576边缘计算盒精准驱动菜品识别模型性能强悍
❝在人工智能与边缘计算深度融合的今天,将AI模型高效部署于终端设备已成为产业智能化的关键。本文将分享基于米尔MYD-LR3576边缘计算盒子部署菜品识别安卓Demo的实战经验。该设备凭借其内置的强劲瑞芯微RK3576芯片,为视觉识别模型提供了充沛的本地AI算力,成功将“智慧识菜”的能力浓缩于方寸之间,充分证明了其作为边缘AI应用坚实载体的卓越性能与可靠性。❝本文以米尔电子的MYD-LR3576边缘
2025-10-30
米尔与安路联合亮相VisionChina 2025,共推FPGA视觉方案
2025年10月28日,由机器视觉产业联盟主办的“2025深圳机器视觉展暨机器视觉技术及工业应用研讨会(Vision China)”在深圳国际会展中心(宝安)9号馆隆重启幕。展会以“VISION+AI赋能电子制造升级”为主题,聚焦人工智能与机器视觉技术在电子制造全产业链中的融合与创新,集中展示AI技术在提升视觉系统能力、突破行业应用瓶颈方面的前沿成果与解决方案。米尔电子应安路科技的邀请出席此次盛会
2025-10-23
经典再进化:米尔ZYNQ 7010/7020全面适配2024.2工具链
在工业物联网、机器视觉和智能网关等严苛领域,米尔电子的MYC-C7Z010/20-V2与MYC-Y7Z010/20-V2核心板及开发平台,凭借其硬核特性,已成为众多企业信赖的首选方案。我们深知,卓越的硬件平台需要匹配敏捷、高效且安全的软件工具链。为应对开发者对先进工具与日俱增的需求,并前瞻性地响应全球日益严格的网络安全法规,我们对经典的ZYNQ 7010/7020产品进行一次里程碑式的软件生态升级
2025-10-16
从微秒级响应到确定性延迟:深入解析米尔全志T536核心板的实时性技术突破
各位工程师同仁,今天咱们聊点硬核的——实时性。这不是那种"差不多就行"的性能指标,在工业控制、机器人运动、电力保护这些领域,实时性就是生命线。想象一下:工业机器人抓取精密元件时,哪怕几毫秒的延迟都可能导致良品率暴跌;电力系统故障检测,响应慢了几个毫秒可能就是一场灾难。为什么通用Linux在实时场景中"力不从心"?标准Linux内核设计初衷是"公平调