资源简介
Python+OpenCV+OpenPose实现人体姿态估计(人体关键点检测)代码说明参见:https://blog.csdn.net/m0_38106923/article/details/89416514

代码片段和文件信息
# To use Inference Engine backend specify location of plugins:
# export LD_LIBRARY_PATH=/opt/intel/deeplearning_deploymenttoolkit/deployment_tools/external/mklml_lnx/lib:$LD_LIBRARY_PATH
import cv2 as cv
import numpy as np
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(‘--input‘ help=‘Path to image or video. Skip to capture frames from camera‘)
parser.add_argument(‘--thr‘ default=0.2 type=float help=‘Threshold value for pose parts heat map‘)
parser.add_argument(‘--width‘ default=368 type=int help=‘Resize input to specific width.‘)
parser.add_argument(‘--height‘ default=368 type=int help=‘Resize input to specific height.‘)
args = parser.parse_args()
BODY_PARTS = { “Nose“: 0 “Neck“: 1 “RShoulder“: 2 “RElbow“: 3 “RWrist“: 4
“LShoulder“: 5 “LElbow“: 6 “LWrist“: 7 “RHip“: 8 “RKnee“: 9
“RAnkle“: 10 “LHip“: 11 “LKnee“: 12 “LAnkle“: 13 “REye“: 14
“LEye“: 15 “REar“: 16 “LEar“: 17 “Background“: 18 }
POSE_PAIRS = [ [“Neck“ “RShoulder“] [“Neck“ “LShoulder“] [“RShoulder“ “RElbow“]
[“RElbow“ “RWrist“] [“LShoulder“ “LElbow“] [“LElbow“ “LWrist“]
[“Neck“ “RHip“] [“RHip“ “RKnee“] [“RKnee“ “RAnkle“] [“Neck“ “LHip“]
[“LHip“ “LKnee“] [“LKnee“ “LAnkle“] [“Neck“ “Nose“] [“Nose“ “REye“]
[“REye“ “REar“] [“Nose“ “LEye“] [“LEye“ “LEar“] ]
inWidth = args.width
inHeight = args.height
net = cv.dnn.readNetFromTensorflow(“graph_opt.pb“)
cap = cv.VideoCapture(args.input if args.input else 0)
while cv.waitKey(1) < 0:
hasframe frame = cap.read()
if not hasframe:
cv.waitKey()
break
frameWidth = frame.shape[1]
frameHeight = frame.shape[0]
net.setInput(cv.dnn.blobFromImage(frame 1.0 (inWidth inHeight) (127.5 127.5 127.5) swapRB=True crop=False))
out = net.forward()
out = out[: :19 : :] # MobileNet output [1 57 -1 -1] we only need the first 19 elements
assert(len(BODY_PARTS) == out.shape[1])
points = []
for i in range(len(BODY_PARTS)):
# Slice heatmap of corresponging body‘s part.
heatMap = out[0 i : :]
# Originally we try to find all the local maximums. To simplify a sample
# we just find a global one. However only a single pose at the same time
# could be detected this way.
_ conf _ point = cv.minMaxLoc(heatMap)
x = (frameWidth * point[0]) / out.shape[3]
y = (frameHeight * point[1]) / out.shape[2]
# Add a point if it‘s confidence is higher than threshold.
points.append((int(x) int(y)) if conf > args.thr else None)
for pair in POSE_PAIRS:
partFrom = pair[0]
partTo = pair[1]
assert(partFrom in BODY_PARTS)
assert(partTo in BODY_PARTS)
idFrom = BODY_PARTS[partFrom]
idTo = BODY_PARTS[partTo]
if points[idFrom] and points[idTo]:
cv.line(frame points[idF
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-17 16:00 人体姿态检测\
目录 0 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\
文件 1203 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\.gitignore
文件 7804434 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\graph_opt.pb
文件 24563 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\image.jpg
文件 11357 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\LICENSE
文件 3427 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\openpose.py
文件 67479 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\output.JPG
文件 995 2018-06-15 18:38 人体姿态检测\human-pose-estimation-opencv-master\README.md
相关资源
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论