||

OpenPose编译 (附带PythonAPI)

参考链接:https://github.com/CMU-Perceptual-Computing-Lab/openpose

本次编译过程中使用的环境及软件:

Windows 11
Python 3.7.0  (很关键,实测3.10.6甚至3.7.6都不行!)
CMake 3.25.3
Visual Studio 2017 community

首先下载源码,git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git

CMake配置编译选项

然后进行CMake:

source code填下载下来的源码目录,build目标位置就在那个目录下面新建个build文件夹。
勾上Adcanced,这个后面有用。

点击左下角Configure,会让你选编译工具和平台,visual studio你装了哪个版本就选哪个版本,平台选x64,然后点确定。
一般来说第一次点击之后会像下面一样有很多红的条目,观察下面的输出框里有没有红色报错,有的话对应处理一下。一般来说都是该下载的东西没下载好,这个步骤中会自动下载,但可能会由于网络原因失败,进而导致报错。建议到代码目录下的3rdparty/windows/下去找类似getCaffe.bat这样的文件,双击可以手动下载,比较稳定。
还有一个很可能出现的错误是:

CMake Error at python/openpose/CMakeLists.txt:6 (pybind11_add_module):
  Unknown CMake command "pybind11_add_module".

这是缺了pybind11这个项目,进入openpose代码目录下的 3rdparty 文件夹内,在这里使用git bash,git clone https://github.com/pybind/pybind11.git,下载即可。

下载完之后再次点击Configure,如果还有报错就继续处理或者下载,如果没有报错,再观察上面的条目有没有红色,有的话再点击一次Configure。
一般来说到这里就不会再有红色的条目了,接下来我们再条目中找到BUILD_PYTHON和BUILD_UNITY_SUPPORT两个选项,勾上。

然后我们还需要加一条它原本没有的条目,叫做PYTHON_EXECUTABLE,属性为PATH,填入我们的python3.7.0的exe文件路径(再次强调版本不要搞错)。勾上 Adcanced的作用也在这里,不勾的话也能加进去,但是会看不见它。

然后再次点击Configure,如果一条红色都没有就算是成功了,接下来可以点击Generate。
点完之后点击Open Project,会在VS中打开项目。

开始编译

打开VS之后在右侧资源管理器中找到pyopenpose,将其设置为启动项目。然后:

1 选择Relese配置
2 在右侧资源管理器中找到pyopenpose
3 右键pyopenpose,点击设为启动项目
4 右键pyopenpose,点击生成

等待几分钟后,如果出现类似如下结果,就是成功了。

========== 生成: 成功 2 个,失败 0 个,最新 0 个,跳过 0 个 ==========

测试编译结果

打开代码根目录下的build\examples\tutorial_api_python目录,运行01_body_from_image.py
没有报错的话就会出现如下结果啦

如果出现找不到pyopenpose包的报错,大概率就是没编译好,请仔细再读一遍上面的文章。一般来说会有这几个可能犯的错误:

1 编译用的python版本不是3.7.0
2 CMake过程中没有勾上BUILD_PYTHON
3 CMake过程中没有配置PYTHON_EXECUTABLE或者是配置错误(路径要写到python.exe为止)
4 在VS里编译的时候没有选Release
5 在VS里编译的时候没有在右边选中pyopenpose
6 编译成功了,但是运行的时候没有用python3.7运行而是使用了其他版本

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注