一、背景
因为领导想用这个东西,因此开始研究,首先对于 mediapipe 的介绍不多说,百度一大堆,
主要是(1)跨平台,(2)对于移动设备友好,实时性足够
二、环境
因为对这东西不了解,这里先用 python 代码简单的看看效果,代码的参考网址:
(1)https://blog.csdn.net/javastart/article/details/116423090
(2)https://google.github.io/mediapipe/solutions/holistic
例子中只用到了cv2和mediapipe两个库,对于库安装 下载 不下来的可以考虑换源,参考:https://blog.csdn.net/afeiqiang/article/details/108257584
三、代码(没啥好说的,直接上代码,看代码即可)
(1)全身检测(图片)
import cv2import mediapipe as mp #mp.solutions.drawing_utils用于绘制mp_drawing = mp.solutions.drawing_utils #参数:1、颜色,2、线条粗细,3、点的半径DrawingSpec_point = mp_drawing.DrawingSpec((0, 255, 0), 2, 2)DrawingSpec_line = mp_drawing.DrawingSpec((0, 0, 255), 2, 2) #mp.solutions.holistic是一个类别,是人的整体mp_holistic = mp.solutions.holistic #参数:1、是否检测静态图片,2、姿态模型的复杂度,3、结果看起来平滑(用于video有效),4、检测阈值,5、跟踪阈值holistic = mp_holistic.Holistic(static_image_mode=True) file = 'input.jpg'image = cv2.imread(file)image_hight, image_width, _ = image.shapeimage1 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) #处理RGB图像results = holistic.process(image1) #某一个点的坐标if results.pose_landmarks: print( f'Nose coordinates: (' f'{results.pose_landmarks.landmark[mp_holistic.PoseLandmark.NOSE].x * image_width}, ' f'{results.pose_landmarks.landmark[mp_holistic.PoseLandmark.NOSE].y * image_hight})' ) '''mp_holistic.PoseLandmark类中共33个人体骨骼点mp_holistic.HandLandmark类中共21个手部关键点脸部有468个关键点''' #绘制mp_drawing.draw_landmarks( image, results.fa
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删