windows11下编译openpose并通过pyCharm调用

前言

做毕设的时候要用到Openpose提取人体骨骼关键点,且需要在python中调用编程。过程花了几天,踩了不少坑,做个详细的笔记在这里。

环境

  1. windows 11 64bit;
  2. CUDA v11.6
  3. cuDNN 8.3.2.44
  4. Visual Studio 2022 Community
  5. PyCharm 2021.3 Community

准备工作

  1. 安装CUDA和cuDNN(网上教程很多)
  2. 下载Openpose(目前最新的是1.7.0,链接是github 的下载链接)
    Openpose 1.7.0 zip压缩包
  3. 下载依赖caffe和pybind11
    caffe
    pybind11 2.9.1

编译Openpose并运行Demo

解压下载下来的Openpose 1.7.0压缩包,如图所示
Openpose 1.7.0
点击进入3rdparty文件夹,此时caffe和pybind11两个文件夹应该是空白的。
在这里插入图片描述
将提前下载好的caffe和pybind11解压后放入这两个空文件夹:
caffe
pybind11
依赖放入对应文件夹之后打开CMake_gui进行编译。上面一栏选择openpose解压的位置,然后再该目录下新建一个build文件夹,填入下面一栏。
在这里插入图片描述
点击configure,会提示进行VS版本的选择,装了哪个就选哪个就行。
在这里插入图片描述
然后就自动开始下载资源并配置了,这个过程要一段时间的,取决于网速(和运气)。
在这里插入图片描述
Configuring done之后出现如下界面,这边勾选BUILD_PYTHON之后点击Generate开始生成(勾选是为了在python中调用,只要运行Demo的话可以不勾)。这个过程比较快。
在这里插入图片描述
生成完毕后红色会消失,如果这里报错可能是缺少依赖的原因,检查下之前说的依赖有没有放进去。没问题就点击Open Project打开VS进行编译了。
在这里插入图片描述
点击后自动启动VS打开Openpose的解决方案,在Example中找到OpenposeDemo并右击生成:
在这里插入图片描述
在这里插入图片描述
接下来将Demo设置成启动项目。
在这里插入图片描述
点击windows本地调试器即可运行Demo:
在这里插入图片描述
这边默认是会调用摄像头进行姿态识别的(人丑不放)。如果要对特定图片或视频进行识别的话,可以添加运行参数。点击调试——Openpose 调试属性。
在这里插入图片描述
在调试——命令参数中按如下格式输入要检测的图片或视频路径:
在这里插入图片描述
应用并点击运行:
在这里插入图片描述
就可以成功在指定图片或视频上运行Demo了。

在Python中调用

首先我们要打开Openpose解决方案,切换模式为release:
在这里插入图片描述
然后右击pyopenpose进行生成:
在这里插入图片描述
生成成功的标志是在build——python——openpose——Release文件夹下有如下三个文件:
在这里插入图片描述
接下来才是坑最多的地方…按照其他的教程,我们可以在build——examples——tutorial_api_python中找到示例python代码并修改路径后运行,但我在实际操作中发现总是出现如下错误:即找不到pyopenpose。
在这里插入图片描述
因此我们找到import pyopenpose需要的几个必要的文件:
在这里插入图片描述
在这里插入图片描述
将以上五个文件copy到bin文件夹中:
在这里插入图片描述
其实就是把所有需要的库文件放到同一个文件夹中,这样就不会找不到pyopenpose了。然后我们把示例代码、待测图片和模型也copy过来:
在这里插入图片描述
在这里插入图片描述
model文件夹在openpose文件夹中:
在这里插入图片描述
也copy到bin中(总之就是示例代码要什么就粘什么过来):
在这里插入图片描述

打开示例代码进行一些小修改,原来用来搜索路径的三行代码注释掉:
在这里插入图片描述
修改图片资源检索路径:
在这里插入图片描述
修改模型获取路径:
在这里插入图片描述
就能够成功运行了:
在这里插入图片描述

结语

总之真的是一个非常闹心的过程…尤其是路径搜索那段,无论如何也找不到pyopenpose模块,所以只能全放在一个文件夹里,反正能跑起来就行。继续去看代码了…毕设要做不出来了QAQ。

  • 16
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值