openpose(windows11)安装及常见问题及解决方案

目录

一、详细教程,先看一下问题汇总,使用该教程时也参考一下问题里的注意事项:

二、问题汇总及解决方案:

1. Visual Studio版本建议:用2019或者2017,我用2022试过最后生成解决方案时没有成功,大概率是版本问题,后面改成2019以后就成功了。

2.Python版本建议:最好一开始就用Python3.7版本,不然试错的代价太大。这边需要注意两个位置:

3.下载所需的models:(将下面链接复制到迅雷上下载!!!)

4.下载3rdparty/windows下的包:

5.生成解决方案成功,但是在运行时出现以下报错:

6.运行demo的时候没有出来关节点:

7.自己创建的python openpose项目,代码结构如下:

①ModuleNotFoundError: No module named 'pyopenpose':

②ImportError: DLL load failed: 找不到指定的模块:

③第二种错误还是没法解决:

三、总结



一、详细教程,先看一下问题汇总,使用该教程时也参考一下问题里的注意事项:

https://blog.csdn.net/SuiJiangPiaoLiu/article/details/126434521icon-default.png?t=N7T8https://blog.csdn.net/SuiJiangPiaoLiu/article/details/126434521

二、问题汇总及解决方案:

1. Visual Studio版本建议:用2019或者2017,我用2022试过最后生成解决方案时没有成功,大概率是版本问题,后面改成2019以后就成功了。

2.Python版本建议:最好一开始就用Python3.7版本,不然试错的代价太大。这边需要注意两个位置:

①Cmake编译的时候:一般搜索路径默认为Python安装包下的python.exe等,但是如果系统安装的Python版本不是3.7,则需要更改路径,将默认路径覆盖:

2f3ae02c039145ad922c534845e2ae04.png

        网上一些教程里面Name用的是PYTHON_EXECUTABLE,这个根据Generate以后Cache里的内容判断用哪个,如下所示就是覆盖成功了。

44567c406786489ea6be7829a31bcb83.png

        我电脑的python版本是3.6,conda下的Python版本是3.11,所以用的是conda创建的虚拟环境,Python版本为3.7。

②调用openpose生成的.pyd文件,也要在Python3.7的环境下,不然也会出现版本不兼容的问题。

3.下载所需的models:(将下面链接复制到迅雷上下载!!!)

也可以在这里下载:https://download.csdn.net/download/qq_44705642/89294842

①face模型:http://posefs1.perception.cs.cmu.edu/OpenPose/models/face/pose_iter_116000.caffemodel

②hand模型:http://posefs1.perception.cs.cmu.edu/OpenPose/models/hand/pose_iter_102000.caffemodel

③pose/body_25模型:http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/body_25/pose_iter_584000.caffemodel

④pose/coco模型:http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel

⑤pose/mpi模型:http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/mpi/pose_iter_160000.caffemodel

4.下载3rdparty/windows下的包:

可以在这里下载:https://download.csdn.net/download/qq_44705642/89295001(提供了几个版本的配置包,应该可以找到你所需要的)

将下图几个.bat文件中的链接复制到迅雷上下载:

cb11e351d3c1441b90f387c48df4cf1b.png

5.生成解决方案成功,但是在运行时出现以下报错:

05b239bfe64d42d48b8e13f7653e61f8.png02bf1cae762349c9b838e02dadce84ac.png

        这种情况是在下图中环境的路径下搜索不到.dll文件,可以将…/build/bin添加到环境路径中,如果这个方法不行,可以将…/build/bin下所有.dll文件复制到…\build\x64\Release下:

a1a630d1b564410191be0571fb3430a1.png

6.运行demo的时候没有出来关节点:

        models下的模型文件损坏了,需要重新下载。

7.自己创建的python openpose项目,代码结构如下:

1e1b2b762f154ec7a5c33ea9d8e87ef1.png

    bin文件夹拷贝于…/build/bin,将…\build\x64\Release下的openpose.dll也拷贝进去;example、models文件夹拷贝于…\build同级文件夹下的example、models文件夹;pyopenpose.cp37-win_amd64.pyd拷贝于…\build\python\openpose\Release。

        可能出现下列两种情况的报错:

①ModuleNotFoundError: No module named 'pyopenpose':

        这种情况主要问题是没有找到.pyd文件。

        可能是.pyd文件没能在sys.path的所有路径里面找到,可以打印sys.path确定一下,然后添加到系统环境路径。

print(sys.path)
dir_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(dir_path + '/bin')

        也可能是Python环境版本和.pyd文件的编译版本不一样。Python3.7版本会去sys.path里面找后缀为cp37-win_amd64.pyd的文件,如果是用的Python3.8编译,会得到后缀为cp38-win_amd64.pyd的文件,版本不同就没法搜索到。

②ImportError: DLL load failed: 找不到指定的模块:

        这种情况是找到了.pyd文件,但是在导入相应的.dll文件的过程中没有找到.dll文件。在我的代码中,是需要去./bin文件夹下导入所有的.dll文件,则需要将./bin文件夹添加到os.environ['PATH']中。

dir_path = os.path.dirname(os.path.realpath(__file__))
os.environ['PATH'] = os.environ['PATH'] + ';' + dir_path + '/bin;'

③第二种错误的终极解决方法:

        .pyd是在sys.path中搜索,.dll会在.pyd所在路径和os.environ['PATH']中搜索。如果还报第二种错误,则把.pyd和所有.dll都放在一个文件夹,然后把.pyd所在文件夹路径添加到sys.path中。

三、总结

        最近安装openpose遇到了很多问题,基本把所有的坑都踩了个遍,希望该文章能对各位友友有所帮助,都顺利安装成功。如果安装过程中仍有问题,欢迎留言交流。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落叶知秋~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值