openpose c++ 配置教程 + python api
之前有介绍过基于tensorflow的openpose版本安装,但是我觉得没有caffe框架那么好用,很多功能也实现不了,比如调节net_resolution的调节,通过调节分辨率来提高检测的精确性和检测速度。还有手、脸和足的关键点识别,这些目前来说,tensorflow版本都没有涉及到。
所以寻求caffe框架好处多多,希望想进行大型项目开发的小伙伴还是选择caffe版本的,源码是c+。如果本身不太了解c++的小伙伴们,可以采用python api进行项目开发。
如果本文有讲的不清楚的地方,可以参考下面几个博主的安装教程。
## 1.https://medium.com/pixel-wise/real-time-pose-estimation-in-webcam-using-openpose-python-2-3-opencv-91af0372c31c 2.https://blog.techbridge.cc/2019/01/18/openpose-installation/ 3.https://blog.csdn.net/qq_20226441/article/details/82380030 4.https://blog.csdn.net/zb1165048017/article/details/82115724
openpose c++的环境搭建:
openpose1.5.0 + vs2017 +cuda10.2 + cudnn7 + win10
1.openpose的获取
打开 https://github.com/CMU-Perceptual-Computing-Lab/openpose
选择openpose1.5.0最新版本,点击clone or download,下载到项目目录。
2.vs2017的安装,建议按默认路径安装
3.cuda和cudnn安装
cuda官网:https://developer.nvidia.com/cuda-downloads
cudnn官网:https://developer.nvidia.com/cudnn
我的链接:https://pan.baidu.com/s/1Qyi9BUHf26b5ftCUr1FJKA
提取码:ukp3
4.下载模型文件
1.按照目录打开文件:\openpose\3rdparty\windows下找到四个.bat批处理文件分别运行一次以自动下载所需环境。(我尝试的运行很慢,可以用浏览器下载,比较快一些)
2.在\openpose\models下找到getModels.bat批处理文件运行下载所需模型。
5.cmake安装
6.生成工程(如下图所示)
单击configure进行配置,可能会下载一些文件,
注意选择相应的vs版本,默认是vs2017,若为64位平台选择win64
等进度条跑完,红色底色表示为新的内容,建议把所有model都勾选上,因为coco和mpi模型相对body_25较为简化,可加快运行速度。
记得将gpu-mode 改成cuda
单击generate生成工程文件,可能会下载一些文件。
7.生成库
用 Visual Studio 2015 打開 build/OpenPose.sln 檔案
切換到 Release Mode 並 Build Project
这一点非常重要,如果没有改成release,后面的python api会启动失败。
8.运行测试
将希望运行的项目(openposedemo或者tutorial里的项目等)右击设为启动项目f5运行。
重要:
如果上面的步驟都做完,應該可以在
openpose\build\python\openpose\Release 看到
openpose_python.cp36-win_amd64.pyd library 文件。
(OpenPose 原生是用 C++ 寫的,是用 pybind11 包成 Python 可以呼叫的 library,这里的cp36指的是python3.6版本,一定要注意,以后环境变了,还要重新编译。)
完成上述步骤后,就可以在 \openpose\build\examples\tutorial_api_python运行所需的文件了。
比如openpose_python.py,这个是运行摄像头,进行实时检测的。
注意:dir_path,指的是你openpose的安装目录,如果你换了项目环境,需要改成以下的绝对路径。
下面是关于参数的修改,里面涉及很多参数,等以后会出相关的参数含义介绍。也可以自己查看相关文档。后期会出相关的openpose的文档介绍,非常有意思,需要注意的地方也很多。
目前在进行相关项目的开发和整理,有兴趣的小伙伴可以加入讨论,当然拒绝伸手党,希望大家能尊重彼此的劳动成果,有机会进行合作。
openpose c++ 配置教程 + python api的更多相关文章
- Python学习 1 一 Python2.75的安装及环境配置教程
Python2.75的安装及环境配置教程 Python的语法简洁,功能强大,有大量的第三方开发包(模块),非常适合初学者上手.同时Python不像java一样对内存要求非常高,适合做一些经常性的任务方 ...
- Django Rest Framework 教程及API向导
Django Rest Framework 教程及API向导. 一.请求(Request)REST_FRAMEWORK 中的 Request 扩展了标准的HttpRequest,为 REST_FRAM ...
- Termux 高级终端安装使用配置教程
Termux 高级终端安装使用配置教程,这篇文章拖了有小半年.因为网上相关的文章相对来说还是比较少的,恰好今天又刷了机,所以就特意来总结一下,希望本文可以帮助到其他的小伙伴.发挥Android平台更大 ...
- Appium python API 总结
Appium python api 根据testerhome的文章,再补充一些文章里面没有提及的API [TOC] [1]find element driver 的方法 注意:这几个方法只能通过sel ...
- hudson配置教程
Hudson配置教程 hudson是个优 秀的开源工具,可惜是小日本开发的.这点不爽.拿过来用吧.我们公司(Qisda)的用途是 用来晚上定时的抓Android的代码,然后编译,保存img文件,然后根 ...
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (一)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- boost.python入门教程 ----python 嵌入c++
Python语言简介 Python是一种脚本语言.以开放的开发接口和独特的语法著称.尽管Python在国内引起注意只有几年的时间,但实际上Python出现于上世纪90年代(据www.python.or ...
- HBase Python API
HBase Python API HBase通过thrift机制可以实现多语言编程,信息通过端口传递,因此Python是个不错的选择 吐槽 博主在Mac上配置HBase,奈何Zoomkeeper一直报 ...
- Mac 配置教程-开发篇
将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 图床 iPic 设置快捷键 Command+Shift+u ...
随机推荐
- java.net.BindException:Problem binding to [hostname:8088]地址已在使用
异常提示端口号被占用 查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln ## 查看端口使用情况,而netstat -tln | g ...
- vue第一单元(初识webpack-webpack的功能-webpack的初步使用)
第一单元(初识webpack-webpack的功能-webpack的初步使用) #课程目标 了解webpack出现的意义,以及webpack解决的前端问题 掌握webpack的使用流程和步骤 掌握we ...
- 第 12 章 JVM执行引擎
目录 第 12 章 执行引擎 1.执行引擎概述 1.1.执行引擎概述 1.2.执行引擎工作过程 2.Java 代码编译和执行过程 2.1.解释执行和即时编译 2.2.解释器和编译器 3.机器码 指令 ...
- 小白数据分析——Python职位全链路分析
最近在做Python职位分析的项目,做这件事的背景是因为接触Python这么久,还没有对Python职位有一个全貌的了解.所以想通过本次分析了解Python相关的职位有哪些.在不同城市的需求量有何差异 ...
- ceph如何快速卸载所有osd及擦除磁盘分区表和内容并重新加入
我的ceph集群中有4台服务器,16个osd,因为某些原因,集群中的数据都不要了,但是集群要保留给新的应用使用,集群现有的osd情况如下 [root@ceph-host-01 ~]# cat /etc ...
- C#中搜索xsd文件中的某个数据源
步骤 1.打开***.xsd文件. 2.数据源之间的空白处,右键->属性. 3.在VS右侧会跳出一个属性窗口. 4.有个名称为DataSet的下拉框,所有的数据源名称都在其中,单击即可定位到所选 ...
- 【目标检测】基于传统算法的目标检测方法总结概述 Viola-Jones | HOG+SVM | DPM | NMS
"目标检测"是当前计算机视觉和机器学习领域的研究热点.从Viola-Jones Detector.DPM等冷兵器时代的智慧到当今RCNN.YOLO等深度学习土壤孕育下的GPU暴力美 ...
- 2020DevOps状态报告——平台模型:扩展DevOps的新方法
平台模型是我们在这个领域看到越来越多的方法,它源于负责产品或服务的端到端交付的产品团队的理念.如果只应用于单一的产品,或者几个产品,它的效果很好. 但如果有数百种产品或服务,把一个产品团队用于这些产品 ...
- Prometheus集群介绍-1
Prometheus监控介绍 公司做教育的,要迁移上云,所以需要我这边从零开始调研加后期维护Prometheus:近期看过二本方面的prometheus书籍,一本是深入浅出一般是实战方向的:官方文档主 ...
- Date、SimpleDateFormat以及Calendar
Date类 毫秒值 java.util.Date:表示日期和时间的类 类Date表示特定的瞬间,精确到毫秒 日期转毫秒,号秒转日期 中国属于东八区,会把事件增加8个小时 1天 = 4 * 60 * 6 ...