0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MediaPipe + OpenCV五分钟搞定手势识别

OpenCV学堂 来源:OpenCV学堂 2023-06-14 16:56 次阅读

MediaPipe介绍

这个是真的,首先需要从Google在2020年发布的mediapipe开发包说起,这个开发包集成了人脸、眼睛、虹膜、手势、姿态等各种landmark检测与跟踪算法

https://google.github.io/mediapipe/

请看下图比较详细

2a5f1276-09e5-11ee-962d-dac502259ad0.png

是个不折不扣的现实增强的宝藏工具包,特别实用!支持的平台跟语言也非常的丰富,图示如下:

2ad960bc-09e5-11ee-962d-dac502259ad0.png

只说一遍,感觉要逆天了,依赖库只有一个就是opencv,python版本的安装特别简单,直接运行下面的命令行:

pip install mediapipe

手势landmark检测

直接运行官方提供的Python演示程序,需要稍微修改一下,因为版本更新了,演示程序有点问题,改完之后执行运行视频测试,完美get到手势landmark关键点:

2af254dc-09e5-11ee-962d-dac502259ad0.png

手势landmark的关键点编号与解释如下:

2b5990ca-09e5-11ee-962d-dac502259ad0.png

修改后的代码如下:

importcv2
importmediapipeasmp
mp_drawing=mp.solutions.drawing_utils
mp_hands=mp.solutions.hands

#Forwebcaminput:
cap=cv2.VideoCapture(0)
withmp_hands.Hands(
min_detection_confidence=0.5,
min_tracking_confidence=0.5)ashands:
whilecap.isOpened():
success,image=cap.read()
ifnotsuccess:
print("Ignoringemptycameraframe.")
#Ifloadingavideo,use'break'insteadof'continue'.
continue

#Toimproveperformance,optionallymarktheimageasnotwriteableto
#passbyreference.
image.flags.writeable=False
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
results=hands.process(image)

#Drawthehandannotationsontheimage.
image.flags.writeable=True
image=cv2.cvtColor(image,cv2.COLOR_RGB2BGR)
ifresults.multi_hand_landmarks:
forhand_landmarksinresults.multi_hand_landmarks:
mp_drawing.draw_landmarks(
image,
hand_landmarks,
mp_hands.HAND_CONNECTIONS)
cv2.imwrite('D:/result.png',cv2.flip(image,1))
#Fliptheimagehorizontallyforaselfie-viewdisplay.
cv2.imshow('MediaPipeHands',cv2.flip(image,1))
ifcv2.waitKey(5)&0xFF==27:
break
cap.release()

手势识别

基于最简单的图象分类,收集了几百张图象,做了一个简单的迁移学习,实现了三种手势分类,运行请看视频:


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 手势识别
    +关注

    关注

    8

    文章

    219

    浏览量

    47580
  • 跟踪算法
    +关注

    关注

    0

    文章

    40

    浏览量

    12984
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40786

原文标题:MediaPipe + OpenCV五分钟搞定手势识别

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    10分钟搞定pld

    10f分钟你绝对能搞定
    发表于 08-30 15:33

    红外手势识别方案 红外手势感应模块 红外识别红外手势识别

    红外手势识别方案,适用于多种领域,如音响,可实现通过手势识别暂停,开始,上一首,下一首;智能家居,如电动窗帘,感应马桶等;电子产品,如台灯开关以及亮度的调节。
    发表于 08-27 16:37

    【UT4418申请】手势识别系统

    申请理由:我是一名嵌入式软件工程师 。 大学花了很长一段时间开发一套手势识别系统。该系统是基于Xilinx 的 Zedboard开发板。Zedboard中包含有Cotex-A9处理器 。现在回忆起
    发表于 09-23 14:54

    labview 实现手势识别 !!!????

    新人小白想知道怎么用labview实现简单的手势识别识别上下左右就行。哪位大神能给讲讲
    发表于 11-02 23:36

    分钟分辨手势感应

    2015年5月发表的ProjectSoli,更具创意;以雷达波反射的原理,将整个手势操控的功能缩小到一个长宽各小于1公的单晶片中。经过数年的开发,手势操控作为人机界面,已经从研发、特殊应用阶段,逐渐往
    发表于 11-24 10:40

    分钟学会CPLD资料

    分钟学会CPLD资料
    发表于 11-15 10:12

    【NanoPi Duo开发板试用申请】基于nanopi的手势识别

    项目名称:基于nanopi的手势识别试用计划:基于nanopi硬件,通过摄像头采集图像,利用opencv来进行手部动作捕捉,达到无触摸操控。可用于智能家居,只需利用手部动作,就可以控制智能家具。
    发表于 10-11 17:05

    使用SensorTile识别手势

    你好, 我正在尝试使用SensorTile实现手势识别,开发我的固件我开始研究BlueMicrosystem2示例,因此我能够检测到简单的手势作为手腕的方向。现在我想要认识一些更复杂的手势
    发表于 09-10 17:18

    分钟搞懂PID控制算法

    【Arduino 101】分钟搞懂PID控制算法物料清单尺寸接线文章目录物料清单尺寸接线物料清单Arduino Uno x 1超声波模块(HC-SR04)x 1舵机(Tower Pro
    发表于 06-28 07:53

    手势识别装置介绍

    手势识别装置...
    发表于 08-06 09:39

    手势识别控制器制作

    目录智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino介绍材料PAJ7620手势模块参数硬件连接库文件使用其他硬件制作
    发表于 09-07 06:45

    分钟读懂WiFi基础知识

    家1、嵌入式技术常识科普【物联网】WiFi基础知识分钟读懂TCP/IP;协议STM32开发 -- Keil基本使用如何看懂时序图(以SPI/I2C为例)ESP8266配网思路(不使用...
    发表于 12-01 06:36

    HarmonyOS/OpenHarmony(Stage模型)应用开发组合手势(二)并行识别

    并行识别组合手势对应的GestureMode为Parallel。并行识别组合手势中注册的手势将同时进行
    发表于 09-08 16:17

    手势识别系统的程序和资料说明

    本项目在python 2.7上使用opencv实现了一个手势识别手势识别系统。一种基于直方图的方法被用来从背景图像中分离出一只手。背景消除
    发表于 04-28 08:00 12次下载
    <b class='flag-5'>手势</b><b class='flag-5'>识别</b>系统的程序和资料说明

    手势识别技术及其应用

    手势识别技术是一种通过计算机视觉和人工智能技术来分析和识别人类手势动作的技术。它主要利用传感器、摄像头等设备捕捉手势信息,然后通过算法对捕捉
    的头像 发表于 06-14 18:12 1235次阅读