如何用OpenCV进行手势识别--基于米尔全志T527开发板
2024-12-13
109
来源:米尔电子
摘自优秀创作者-小火苗
一、软件环境安装
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
2024-12-20
正式发售,赋能电力和工业市场,米尔全志高性能工业级T536核心板
自发布以来,这款由米尔首发的真工业级核心板-米尔基于全志T536核心板就获得了广大关注,现正式开售:核心板278元起、开发板750元起。米尔基于米尔全志T536核心板,配备四核Cortex-A55,拥有17路串口和4路CAN口,其强劲的处理能力、丰富的接口、低功耗设计以及出色的稳定性,能够轻松应对电力与工业市场中复杂多变的应用场景,专为工控而生。MYC-LT536系列核心板采用LGA封装,存储配置
2024-12-18
人脸疲劳检测应用-米尔基于RK3576核心板/开发板
本篇源自:优秀创作者 lulugl本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微 RK3576开发板)的人脸疲劳检测方案测试。米尔基于RK3576核心板/开发板【前言】人脸疲劳检测:一种通过分析人脸特征来判断一个人是否处于疲劳状态的技术。其原理主要基于计算机视觉和机器学习方法。当人疲劳时,面部会出现一些特征变化,如眼睛闭合程度增加、眨眼频率变慢、打哈欠、头部姿态改变等。例如,通过
2024-12-13
RK3576来了值得买吗?看看他怎么说
本文由芯板坊提供米尔的开发板我已经说过好多款式了,他们最近又发布了基于RK3576的开发板,下面我们来看看它的具体情况。这次米尔依然是核心板加扩展板的模式,我拿到手的开发板,核心板已经通过LGA贴片,焊好了。我们在选购的时候,可以选择是直接买核心板,还是买全套核心板加扩展板的开发板。米尔官方给这个开发板的定位是赋能工业AI智能化这个就得益于瑞芯微RK3576SoC了。它采用4个2.2GHz频率的C
2024-12-13
如何用OpenCV进行手势识别--基于米尔全志T527开发板
本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。摘自优秀创作者-小火苗米尔基于全志T527开发板一、软件环境安装1.安装OpenCVsudoapt-getinstalllibopencv-devpython3-opencv2.安装pipsudoapt-getinstallpython3-pip二、OpenCV手势识别步骤1.图像获取:从摄
2024-12-13
瑞萨MCU/MPU盛会,米尔发表演讲-嵌入式处理器模组加速工业产品开发
瑞萨电子在深圳(11月30日)和上海(12月6日)的2024 MCU/MPU工业技术研讨会圆满结束。作为瑞萨电子IDH生态合作伙伴-米尔电子亮相此次研讨会,并发表题为“嵌入式处理器模组加速工业产品开发”的演讲,还展出基于RZ/G2L、RZ/G2UL、RZ/T2H的核心板开发板、技术方案等。会议现场人头攒动,热情高涨,吸引众多行业内嵌入式工程师前来探讨和交流,为嵌入式工程师获得产品设计灵感和实用方案
2024-12-05
ST×米尔STM32MP25x线下培训会
STM32MP257D是ST推出的搭载了双核Cortex-A35 @1.5 GHz和Cortex-M33 @400 MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发板,开发板配备丰富的扩展接口。为了帮助开发者更好地理解与应用STM32MP257D处理器和MYD-LD25X开发板,米尔将与ST在2025年1月7日和2025年1月10日分别于南京、北京联合举办线下培训会
2024-11-28
FacenetPytorch人脸识别方案--基于米尔全志T527开发板
本篇测评由电子工程世界的优秀测评者“小火苗”提供。本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的FacenetPytorch人脸识别方案测试。一、facenet_pytorch算法实现人脸识别深度神经网络1.简介Facenet-PyTorch 是一个基于 PyTorch 框架实现的人脸识别库。它提供了FaceNet模型的 PyTorch 实现,可以用于训练自己的人脸
2024-11-28
米尔出席openEuler Summit 2024,携全志T536和RK3562核心模组亮相
汇聚行业智慧,促进技术共享。2024年11月15日-16日,openEuler Summit 2024在北京中关村国际创新中心圆满落幕。本次大会由开放原子开源基金会(以下简称“基金会”)孵化及运营的openEuler社区协同产业伙伴共同主办,以“以智能,致世界”为主题,旨在汇聚全球产业界力量,推动基础软件根技术持续创新,共建全球开源新生态。米尔电子作为领先的嵌入式处理器模组厂商出席了此次活动,并发
2024-11-28
礼品丰厚,米尔将亮相2024瑞萨技术交流会议
工业自动化技术包罗万象,近年来国内“智慧工厂”浪潮不断推高PLC、伺服、数字电源、逆变器、EtherCAT、Profinet、功能安全、HMI等需求。掌握和精通一门颇具前景的前沿技术是嵌入式工程师职业进阶的不二法门,也是企业赢得市场竞争的关键。如果你是这些热门技术/话题的爱好者、项目开发者或专家,那么下面这场干货满满、礼品丰厚的年度工业技术盛会你绝对不容错过!以“智慧控制·绿色可持续”为主题,瑞萨
2024-11-21
后摩尔时代的创新:在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用
学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。(文末有彩蛋)一、为什么选择 FPGA:应对 7nm 制程与 AI 限制在全球半导体制程限制和高端GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28n