PyOpenPose编译与使用

Posted xizero00

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyOpenPose编译与使用相关的知识,希望对你有一定的参考价值。

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.so

make 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编译与使用的主要内容,如果未能解决你的问题,请参考以下文章

使用与使用不同 gcc 版本编译的库不同的 gcc 编译应用程序

apache动态编译与静态编译

Libevent库 编译与使用

是否可以使用与非托管源不同的编译器标志来编译托管源?

在 Visual Studio 中编译与在命令行中使用 cl 编译

Visual Studio 与 WebStorm 中的 Typescript 编译 - 两者都使用 Node.js 进行编译吗?