OpenPose笔记--Windows+Cmake的pyhton接口编译(CPU_ONLY)

        这里编译使用的Cmake 3.20.3,VS2015,OpenPose版本为v1.7.0,编译的版本为python 3.5,CPU版的包。

1、下载代码

        OpenPose的仓库地址:仓库地址,下载好以后解压到本地,这里是使用的OpenPose v1.7.0进行编译的。

2、下载模型文件

        需要下载的模型包括5个,下载下来放到项目的models的对应目录下。

        各个模型的下载地址(建议用迅雷等下载工具进行下载):

3、使用cmake-gui进行编译

        这里使用的cmake版本为3.20.3,编译时在代码的根目录下创建文件夹build,作为编译生成的目录。

选择好路径以后,点击Configure按钮,会弹出一下弹框,选择x64。

点击Finish开始配置。

4、下载相关依赖文件

        第一次配置需要下载一些相关的依赖文件,主要是opencv、caffe、caffe-cpu、caffe3rdparty以及pybind11。(其中caffe-cpu是由于要编译无CUDA的版本所依赖的,编译cuda版本可能不需要),因为在cmake里面下载较慢,也看不到下载进度,建议使用迅雷等下载工具进行下载,下载速度较快。

        下载好以后放在项目的3rdparty/windows目录下,并将压缩包解压到当前目录(否则会报错)。

        注:不一定是下载的以下版本,仅供参考。

        pybind11是编译python包的依赖,需要从git仓库中下载:pybind11仓库地址。下载好以后解压到3rdparty/pybind11目录下。

5、修改编译配置

(1)勾选BUILD_PYTHON

(2)勾选下载模型文件

        前面步骤下载好以后就没有问题。

(3)CPU版本修改

        编译CPU版本需要修改CUDA_MODE、USE_CUDNN两个选项。

(4)添加编译使用的python解释器

        如果不添加该项,会导致编译时使用环境变量里找到的python解释器,即使用的python版本不可控(编译出来的包也不会兼容小版本,3.7的包不能用3.5的环境运行)

       点击Cmake-gui的Add Entry按钮,添加配置项。

      其中Name为:PYTHON_EXECUTABLE,Type为:FILEPATH,Value为你要使用的python解释器路径。

6、配置完成

        修改好配置项以后,再次点击Configure进行配置。

7、编译生成

        配置完成后点击Generate开始生成。

        生成完成后,点击Open Project在VS2015中打开项目,在Release/x64模式下,生成解决方案,等待完成即可。

        到此,OpenPose的python包就编译完成了,在build/python/openpose/Release目录下,pyd文件。

8、在新项目中使用

       创建项目,建立bin目录和models目录,bin目录放依赖的相关文件,models放模型文件。

(1)添加依赖文件

        将build/x64/Release目录下的openpose.dll复制到项目的bin目录下,将build/bin目录下的全部文件复制到项目的bin目录下。

(2)添加模型文件

        将所有模型文件全部复制到项目的models目录下。

(3)添加pyd文件

        将build/python/openpose/Release目录下的pyopenpose.cp35-win_amd64.pyd文件复制到项目的根目录下。

(4)在代码里引入pyopenpose模块

dir_path = os.path.dirname(os.path.realpath(__file__))

os.environ['PATH'] = os.environ['PATH'] + ';' + dir_path + '/bin;'
import pyopenpose as op

print(op)
print("成功引入pyopenpose")

注意使用的python环境,运行结果如下,即为正常。

        以上就是在Windows上编译CPU版的OpenPose python包,有疑问的朋友欢迎在评论区讨论。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值