PyOpenPose编译与使用

2023-05-16

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群)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyOpenPose编译与使用 的相关文章

  • 领英职场退出中国,谷歌Bard集成进安卓,陆奇最新演讲,HuggingFace网传遭禁|今日科技圈要闻...

    夕小瑶科技说 原创 作者 智商掉了一地 兔子酱 AI 新闻速递来咯 xff01 搬好小板凳 xff0c 一起了解近期发生了什么新鲜事 领英职场退出中国 领英是一个专注于职业发展 招聘和营销等方面的社交平台 Linkdein 官方公众号发布公
  • 【原创】产品型IT公司向服务型公司转型

    产品型 IT 公司向服务型公司转型的思考 骆金松 20 世纪最后十年 xff0c IBM 全球业务遭遇困境 xff0c 危急之际经历十年再生 xff0c IBM 创新性推出 电子商务随需应变 理念 xff0c 开始由一家单纯的硬件供应商一跃
  • 重磅!OpenAI最新研究:用GPT-4解释神经元行为,网友:AI套娃?

    夕小瑶科技说 分享 来源 机器之心 虽然 ChatGPT 似乎让人类正在接近重新创造智慧 xff0c 但迄今为止 xff0c 我们从来就没有完全理解智能是什么 xff0c 不论自然的还是人工的 认识智慧的原理显然很有必要 xff0c 如何理
  • 谷歌打响全面反击战!官宣AI重构搜索、新模型比肩GPT-4,朝着ChatGPT微软开炮

    夕小瑶科技说 分享 来源 量子位 作者 明敏 丰色 万众瞩目 xff0c 谷歌的反击来了 现在 xff0c 谷歌搜索终于要加入AI对话功能了 xff0c 排队通道已经开放 当然这还只是第一步 大的还在后面 xff1a 全新大语言模型PaLM
  • eclipse解决中文乱码

    eclipse解决中文乱码 xff08 注释乱码 xff09 第一种 点击window gt perference gt general gt workspace里面的text file encoding改成other gt utf 8 步
  • Dynamic Web Module 4.0 requires Java 1.8 or newer.

    Dynamic Web Module 4 0 requires Java 1 8 or newer java代码没错 xff0c 但项目上有个红叉新建Dynamic Web项目 xff0c 报 Dynamic Web Module 4 0
  • 08-Linux账号管理学习

    Linux账号管理学习 账号管理 简介 Linux系统是一个多用户多任务的分时操作系统 xff0c 任何一个要使用系统资源的用户 xff0c 都必须首先向系统管理员申请一个账号 xff0c 然后以这个账号的身份进入系统 用户的账号一方面可以
  • 06-springboot集成ES详解

    springboot集成ES详解 1 new springboot项目 xff08 看项目记得配环境 xff0c 如jdk xff09 问题 xff1a 一定要保证我们导入的依赖和我们es版本一致 编写config配置类 span clas
  • 07-DockerFile

    文章目录 DockerFileDockerFile构建过程 DockerFile的指令 实战 构建自己的centosCMD 和 ENTRYPOINT 的区别实战 xff1a DockerFile制作tomcat镜像发布镜像发布镜像到阿里云镜
  • 23种设计模式

    此笔记从B站狂神说Java 获取 什么是设计模式 学习设计模式的意义 GoF23 oop七大原则 xff08 1 xff09 开闭原则 一个软件的实体应当对扩展开放 xff0c 对修改关闭 xff1b xff08 2 xff09 里氏替换原
  • springboot上传-下载文件-Hutool

    springboot上传 下载文件 Hutool 1 导入依赖 span class token tag span class token tag span class token punctuation lt span dependenc
  • springsecurity复习

    springsecurity 新建springboot项目 1 导入依赖 span class token tag span class token tag span class token punctuation lt span depe
  • Keras输出Tensor具体值

    Keras输出Tensor具体值 在Tensorflow中 xff0c 如果直接打印Tensor的值 xff0c 一般只会输出其格式 xff0c 例如 tf Tensor 但是有些时候就需要在程序中 xff0c 将具体的内容输出 xff1b
  • jenkins学习

    文章目录 jenkinsGitLab安装使用在ssh下安装gitlab1 安装依赖2 配置镜像3 开始安装gitlab常用命令 在docker下安装gitlab安装docker使用容器安装gitlab访问管理员账号登录 Jenkins安装安
  • java中操作redis

    对Hashmap的操作 span class token annotation punctuation 64 Autowired span span class token keyword private span span class t
  • C++ 网络编程 TCP 用select实现的并发 异步

    C 43 43 TCP网络编程 服务器端多线程处理会话连接 xiyangxiaoguo的博客 CSDN博客 上一篇采用的是建立新的线程的方法去处理一个新的客户端到服务器的TCP连接 xff0c 对于少量的客户端连接到服务器这种方法不存在问题
  • FFmpeg 命令常见操作

    1 转码 ffmpeg i source mp4 ss 20 t 10 c copy my mp4 ffmpeg ss 10 t 15 accurate seek i test mp4 c a copy c v copy tt mp4 i
  • FFprobe查看&统计视频信息

    1 查看音视频信息 1 1 查看基本信息 ffprobe span class token number 1280 span x720 h264 8mbps 30fps span class token punctuation span m
  • 百度2014校园招聘研发工程师笔试题+答案

    一 xff0c 简答题 30分 1 xff0c 当前计算机系统一般会采用层次结构存储数据 xff0c 请介绍下典型计算机存储系统一般分为哪几个层次 xff0c 为什么采用分层存储数据能有效提高程序的执行效率 xff1f 10分 xff08
  • Linux 查看文件夹大小,磁盘剩余空间(du/df)

    1 简介 du查看目录大小 xff0c df查看磁盘使用情况 2 du disk usage xff08 1 xff09 基本功能 递归查看文件夹下所有文件的大小 xff08 2 xff09 常用参数 xff1a h human reada

随机推荐

  • Python matplotlib高级绘图详解

    1 前言 前面我们介绍了使用matplotlib简单的绘图方法 xff08 见 xff1a Python应用matplotlib绘图简介 xff09 但是想要完全控制你的图形 xff0c 以及更高级的用法 xff0c 就需要使用 pyplo
  • ffmpeg视频精准剪切

    1 导言 ffmepg剪切视频 xff0c 很方便 xff0c 但是也有很大缺陷 xff1a xff08 1 xff09 剪切时间点不精确 xff08 2 xff09 有时剪切的视频开头有黑屏 造成这些问题的原因是ffmpeg无法seek到
  • AudioChannelManipulation

    Manipulating audio channels with ffmpeg Contents stereo mono streamstereo 2 mono filesstereo 2 mono streamsmono stereo2
  • sklearn数据集随机切分(train_test_split)

    sklearn学习 给定数据集X和类别标签y xff0c 将数据集按一定比例随机切分为训练集和测试集 代码 span class hljs comment usr bin env python span span class hljs co
  • 音频节奏检测(Onset Detection)

    1 前言 最近市场上出现一些多个视频拼接而成MV xff0c 其原理是根据音频的节拍变换切换视频 我在这里讲述下如何进行音频节拍检测 2 音频检测一般流程 3 3 1 原始音频频谱 以1024为窗口 xff08 即每次读取1024个采样点
  • 金融时间序列分析:6. AR模型实例(R语言)

    0 目录 金融时间序列分析 xff1a 9 ARMA自回归移动平均模型 金融时间序列分析 xff1a 8 MA模型实例 xff08 Python xff09 金融时间序列分析 xff1a 7 MA滑动平均模型 金融时间序列分析 xff1a
  • 比特率,帧率,分辨率对视频画质的影响

    0 前言 前几天和别人讨论视频编码参数对视频清晰度影响 xff0c 今日查查文献在此记录总结下 对最终用户而言 xff0c 其只关心视频的文件大小和画面质量 其中画面质量包括 xff1a 分辨率 xff0c 清晰度和流畅度 流畅度 xff1
  • 搭建Android Camera项目工程

    0 前言 这块内容非常简单 xff0c 需要注意的有两个 xff1a 需要申请相机权限需要一个Surface用来预览 1 申请相机权限 1 1 申请Camera权限 span class hljs tag lt span class hlj
  • 获取webshell权限的45种方法

    1 到GoogLe 搜索一些关键字 edit asp 韩国肉鸡为多 多数为MSSQL数据库 2 到Google site cq cn inurl asp 3 利用挖掘鸡和一个ASP木马 文件名是login asp 路径组是 manage 关
  • EGLContext: eglMakeCurrent详解

    1 前言 在完成EGL的初始化之后 xff0c 需要通过eglMakeCurrent 函数来将当前的上下文切换 xff0c 这样opengl的函数才能启动作用 boolean eglMakeCurrent EGLDisplay displa
  • UART串口通信 Verilog实现代码

    串行通信分为两种方式 xff1a 同步串行通信和异步串行通信 同步串行通信需要通信双方在同一时钟的控制下 xff0c 同步传输数据 xff1b 异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程 UART 是一种采用异步串行通信
  • pytorch: 四种方法解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB

    Bug xff1a RuntimeError CUDA out of memory Tried to allocate MiB 解决方法 xff1a 法一 xff1a 调小batch size xff0c 设到4基本上能解决问题 xff0c
  • Linux打开txt文件乱码的解决方法

    今天发现打开windows下的txt文本出现问题 xff0c 主要是编码问题 xff0c 所以这里我记录下这个问题的解决方法 Linux显示在 Windows 编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致 Linux下使用的
  • ubuntu14.04安装cuda

    首先验证你是否有nvidia的显卡 xff08 http developer nvidia com cuda gpus这个网站查看你是否有支持gpu的显卡 xff09 xff1a lspci grep i nvidia 查看你的linux发
  • debian安装无线网卡驱动

    最近安装了debian8 xff0c 但是安装好了后发现不能连wifi 能连有线的 xff0c 笔记本不能连WIFI是个悲剧 xff0c 于是就度百度 xff0c 最后在一篇文章看到方法 xff0c 原文地址 xff1a https wik
  • 魔改Cmake系列:cmake中Boost找不到库的解决方法

    Begin finding boost libraries FindBoost cmake文件中 xff0c 在CMake share cmake 3 4 Modules 找到下面这几行代码 xff08 你可以搜索 xff09 messag
  • 关于softmax损失函数的推导

    关于softmax损失函数的推导 某人问我softamx损失函数的推导 索性就写一下 定义softmax损失函数的输入为 X N C 和 Y N C 其中N代表输入的数据的个数 C代表类别的个数 X指的是神经网络的输出 Y代表的是0 1矩阵
  • 手把手教你数据恢复编程(二)基础知识篇

    好了 接上一篇 xff0c 本篇 xff0c 我们将详细讲解NTFS文件系统的一些重要的数据结构 xff0c 闲话少叙 xff0c 咱们开讲 NTFS文件系统 一 NTFS简介 NTFS xff08 New Technology File
  • 数字图像基本处理算法

    数字图像基本处理算法 xizero00 常熟理工学院 xff08 CIT xff09 计算机科学与工程学院 下一代互联网实验室 NGIL Lab Email xizero00 64 163 com 由于SIFT算法需要用到很多算法 xff0
  • PyOpenPose编译与使用

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