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

在框架mediapipe和opencv的下的手部关键点追踪,第1张

 利用谷歌开发的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)

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/921273.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存