栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

在框架mediapipe和opencv的下的手部关键点追踪

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在框架mediapipe和opencv的下的手部关键点追踪

 利用谷歌开发的mediapipe框架,做一个轻量化的手部追踪模型

效果图:

import cv2
# mediapipe工具包
import mediapipe as mp
import time

#python绘图函数
import matplotlib.pyplot as plt
#将绘制出的图像直接嵌入在notebook单元格中
%matplotlib inline

#定义可视化图像函数
def look_img(img):
    '''将BGR转RGB'''
    img_RGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    plt.imshow(img_RGB)
    plt.show()


#导入solution中的hands模型
mp_hands = mp.solutions.hands
#模型实例化
hands = mp_hands.Hands(static_image_mode=False,        # 是静态图片还是连续视频帧
                       max_num_hands=4,                # 最多检测几只手
                       min_detection_confidence=0.5,   # 置信度阈值
                       min_tracking_confidence=0.5)    # 追踪阈值
#绘图函数
mpDraw = mp.solutions.drawing_utils 

#读入图像
img = cv2.imread('./images/shoubu01.jpg')
#镜像翻转图像,使图中左右手与真实左右手对应
img = cv2.flip(img, 1)
img_RGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#将图像输入模型中,得到处理结果
results = hands.process(img_RGB)

if results.multi_hand_landmarks: # 如果有检测到手
    # 遍历每一只检测出的手
    for hand_idx in range(len(results.multi_hand_landmarks)):
        hand_21 = results.multi_hand_landmarks[hand_idx] # 获取该手的所有关键点坐标
        mpDraw.draw_landmarks(img, hand_21, mp_hands.HAND_CONNECTIONS) # 可视化

look_img(img)

 #代码来源网络,目的学习交流,如有侵权,联系作者#

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886632.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号