PyOpenPose编译

前言

PyOpenPose是一个OpenPose的python绑定,你可以使用python来实现人体的姿态估计。用上python的openpose,想想就有点小激动呢。哈哈

PyOpenPose依赖于OpenCV3以上的版本,依赖于python2.7这个版本,以及protobuf 2.6.1

  • OpenCV3的版本
    其实opencv3的其他版本我也试过,2.4的会出问题,3.3的也会出问题,问了作者之后才知道他装的是3.2的,所以这里建议安装3.2的版本。
    并且OpenCV3不要开启dnn,编译OpenCV3的时候一定要关闭dnn,否则会出现caffe.proto相关的错误。

  • protobuf的版本
    系统如果是ubuntu的话,执行使用apt安装默认的protobuf就行,protobuf的版本是2.6.1,其他的版本比如3.3的是不行的。
    注意系统中不能存在其他版本的protobuf,否则会出现openpose链接到旧版本的protobuf错误。

安装OpenCV3

安装依赖的包

sudo apt-get install -y build-essential cmake pkg-config
sudo apt-get install -y libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install -y libxvidcore-dev libx264-dev
sudo apt-get install -y libgtk-3-dev
sudo apt-get install -y libatlas-base-dev gfortran
sudo apt-get install -y python2.7-dev python3.5-dev

下载opencv3.2

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.2.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.2.0.zip

解压源码

unzip opencv.zip
unzop opencv_contrib.zip

编译opencv

cd opencv/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D INSTALL_PYTHON_EXAMPLES=ON \-D INSTALL_C_EXAMPLES=OFF \-D BUILD_opencv_dnn=OFF \-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \-D PYTHON_EXECUTABLE=/usr/bin/python2.7 \-D BUILD_EXAMPLES=ON ..

安装

sudo make install
sudo ldconfig

当然你如果想卸载可以sudo make uninstall

安装Protobuf

ubuntu自带的就是 2.6.1所以可以直接安装

sudo apt install libprotobuf-dev protobuf-compiler libprotobuf-lite9v5 protobuf9v5 libprotobuf-c1

编译OpenPose

这个官方有教程,这里不写,只想表明一下编译完openpose自带的caffe之后,需要
make distribute同样openpose也需要make distribute,因为后面 PyOpenPose需要用到。
同样本博客也有caffe的安装教程

安装PyOpenPose

#下载PyOpenPose代码
git clone https://github.com/FORTH-ModelBasedTracker/PyOpenPose.git
cd PyOpenPose#设置环境变量为openpose的路径
export OPENPOSE_ROOT=你的openpose路径#开始编译
mkdir build
cd build
# 一定要指定python的版本,否则会出错!!!!!!,cmake会找不到正确的python版本
cmake ..  -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.somake all -j $nproc
# 测试是否编译成功
cd ..
cd scripts
python OpLoop.py

另外github已经给作者PR了,就看作者同意不同意merge了。
还是把我的github放出来
https://github.com/djangogo/PyOpenPose

Reference
http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

written by xizero00
blog.csdn.net/xizero00

姿态估计群号(做姿态估计的同行可以交流):
6962519489(1群,已满)
970029323(2群)

PyOpenPose编译与使用相关推荐

  1. ST-GCN源码运行完整版(含OpenPose编译安装)及常见问题

    ST-GCN源码运行完整版(含OpenPose编译安装) -------本文仅为学习笔记,不做任何商业用途------- 下述相关工具包下载链接ST-GCN所需工具,提取码ze36 一.准备工作 1. ...

  2. Win10+python+open pose骨骼关键点检测编译和使用(挥手检测案例)

    一.安装配置openpose 参考这篇文章 在Windows上编译OpenPose Python Wrapper - 远处有泽细细说 (yuanze.wang)https://yuanze.wang/ ...

  3. 解决python openpose导入自己项目后,运行出现No module named pyopenpose的问题

    问题描述: openpose编译完成后,如果直接使用pycharm打开openpose\build\examples\tutorial_api_python创建项目运行的话,不会出错.但是当移动ope ...

  4. OpenPose Python API调用:ImportError: cannot import name 'pyopenpose' from 'openpose'

    OpenPose Python API 调用方法 cmake-gui选项中勾选BUILD_PYTHON选项 cd build sudo make -j'' sudo make install cd ~ ...

  5. go build 编译报错 missing go.sum entry for module providing package

    go build 编译报错 missing go.sum entry for module providing package 解决方法 // 移除未使用的依赖 go mod tidy 再次编译,就可 ...

  6. kotlin重写构造方法编译报错:Primary constructor call expected

    在kotlin中使用construct关键字定义构造方法,如果类定义时已经有构造方法(类名后带括号),需要添加构造方法时,需要使用以下写法: class User(var name,var age){ ...

  7. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

  8. 初试linux编译(ubuntu+vim)+玩转智能蛇

    一.初试linux编译(ubuntu+vim) 步骤: ①下载vmware15+ubuntu桌面版映像 ②安装ubuntu ③下载vim+gcc 在ubuntu终端输入: sudo apt-get i ...

  9. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

最新文章

  1. MySQL8.0修改密码问题
  2. java枚举可以int值不_java – 如何通过int值迭代枚举?
  3. 修改MOSS2007内容查询部件实现自定义格式显示
  4. [xsy3132]数表
  5. LeetCode 39. 组合总和(排列组合 回溯)
  6. Numpy统计计算、数组比较,看这篇就够了
  7. 人脸对齐(十九)--Regressing a 3D Face Shape from a Single Image
  8. 【图像分割】基于matlab粒子群优化指数熵图像分割【含Matlab源码 287期】
  9. 《C语言程序设计(第五版)谭浩强》学习笔记
  10. 将一个网页设置为屏保
  11. oracle没有卸载,oracle卸载没有正确卸载怎么办?
  12. 加快二代支付系统建设改进央行支付清算服务
  13. 计算机中ms-dos什么意思,msdos是什么意思
  14. 企业微信网页应用开发 - 开发环境搭建
  15. 校验-------邮箱、手机号、电话号码、身份证号码、数字等工具类
  16. 关于网络的命令及介绍
  17. 白鹭(egret)搜素引擎入门
  18. mysql 父子排序_mysql 父子结构排序
  19. “TikTok+独立站”模式熟了?看Anker如何玩转社交私域流量导流独立站?
  20. 怎样让自己变得更优秀?职场精英是如何炼成的?怎样成为行业精英

热门文章

  1. Go error--cannot find package
  2. NFC功能移植pn54x系列
  3. 可视化大屏模板|不玩虚的,套用立得报表
  4. 18个最佳代码编辑器/IDE推荐
  5. Java多线程学习(吐血超详细总结)【转】
  6. for...in 与 for...of 的用法与区别
  7. session的到底是做什么的?
  8. 水文预报 求各个年份的纳什效率系数
  9. 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的建筑高度为零)
  10. [转]如何解决Windows图片预览窗口无法显示图片缩略图