恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Python+OpenCV 人体关键点检测系统 实时图像、视频和摄像头输入
首页
资讯中心
/
Python+OpenCV 人体关键点检测系统 实时图像、视频和摄像头输入
Python+OpenCV 人体关键点检测系统 实时图像、视频和摄像头输入
发布时间:2026/8/31 15:59:06
使用Python和OpenCV创建一个基于OpenPose的人体关键点检测系统实时图像、视频和摄像头输入文章目录使用Python和OpenCV创建一个基于OpenPose的人体关键点检测系统实时图像、视频和摄像头输入环境配置代码实现2. 编写Python代码说明注意事项以下文字及代码仅供参考。人体检测OpenPose算法 实时关键点检测构建目标1、windows、mac实时运行监测2、代码 is so eaay3、环境要求低pycharm打开可运行4、可对图片、视频识别、摄像头识别5、没gpu也可运行要实现一个基于OpenPose的人体关键点检测系统可实时图像、视频和摄像头输入使用Python和OpenCV。以下是详细的步骤和代码示例。环境配置确保安装了必要的库pipinstallopencv-python numpy代码实现我们将使用OpenPose的预训练模型并通过OpenCV进行实时处理。确保将编译好的openpose可执行文件添加到系统路径中。2. 编写Python代码以下是一个简洁易懂的Python代码示例用于实时人体关键点检测importcv2importosimporttime# OpenPose路径OPENPOSE_PATHpath/to/openpose/buildOPENPOSE_MODELpath/to/openpose/models/coco/pose_coco_256x256.pkldefdraw_keypoints(image,keypoints):forkeypointinkeypoints:ifkeypoint[2]0:cv2.circle(image,(int(keypoint[0]),int(keypoint[1])),3,(0,255,0),-1)defdraw_skeleton(image,keypoints):pairs[(1,2),(1,5),(2,3),(3,4),(5,6),(6,7),(1,8),(8,9),(9,10),(1,11),(11,12),(12,13),(1,0),(0,14),(14,16),(0,15),(15,17)]forpairinpairs:startkeypoints[pair[0]-1]endkeypoints[pair[1]-1]ifstart[2]0andend[2]0:cv2.line(image,(int(start[0]),int(start[1])),(int(end[0]),int(end[1])),(0,255,0),2)defdetect_pose(image_pathNone,video_pathNone,cameraFalse):ifcamera:capcv2.VideoCapture(0)elifvideo_path:capcv2.VideoCapture(video_path)else:imagecv2.imread(image_path)returndetect_pose_image(image)whileTrue:ret,framecap.read()ifnotret:break# 调用OpenPose进行关键点检测cmdf{OPENPOSE_PATH}/openpose.bin --image_dir{frame}--write_images output/ --display 0os.system(cmd)# 读取输出图像output_imagecv2.imread(output/image_00000001.jpg)cv2.imshow(OpenPose using OpenCV,output_image)ifcv2.waitKey(1)0xFFord(q):breakcap.release()cv2.destroyAllWindows()defdetect_pose_image(image):# 调用OpenPose进行关键点检测cmdf{OPENPOSE_PATH}/openpose.bin --image_dir{image}--write_images output/ --display 0os.system(cmd)# 读取输出图像output_imagecv2.imread(output/image_00000001.jpg)cv2.imshow(OpenPose using OpenCV,output_image)cv2.waitKey(0)cv2.destroyAllWindows()if__name____main__:# 示例使用摄像头detect_pose(cameraTrue)# 示例使用图片# detect_pose(image_pathpath/to/image.jpg)# 示例使用视频# detect_pose(video_pathpath/to/video.mp4)说明环境配置确保OpenPose已经正确编译并添加到系统路径。使用cmake和make编译OpenPose。代码实现draw_keypoints和draw_skeleton函数用于绘制关键点和骨架。detect_pose函数用于处理实时摄像头、视频或单张图片。detect_pose_image函数用于处理单张图片。运行方式运行脚本时可以选择使用摄像头、视频或单张图片进行检测。注意事项确保OpenPose的路径和模型路径正确设置。如果没有GPUOpenPose也可以在CPU上运行但速度会较慢。