在python中调用openpose遇到了这个经典的问题:
ModuleNotFoundError: No module named 'pyopenpose'
Error: OpenPose library could not be found. Did you enable `BUILD_PYTHON` in CMake and have this Python script in the right folder?
尝试了很多的方法,最后得出的解决方案如下:
步骤一:切换到正确的python环境
查看了我的openpose后发现release文件夹下的pyd文件名字包含‘cp39’。
后来查询资料,应该是cmake在前面的编译过程中时,会自动根据当前系统的基础python环境生成对应的包,于是将python环境设置为3.9。
步骤二:更改pyopenpose包的导入路径
原始的tutorial_api_python下的01_body_from_image.py等文件中的路径为下图:
需要将红框中的路径修改,在前面加上build.即:
完成以上两步后,已经不会报No module named 'pyopenpose'这个错了,但是会报一个新的错误:Prototxt file not found: ..\..\..\models\pose/body_25/pose_deploy.prototxt.
于是进行第三步:
步骤三:更改模型路径
原始的设置为:
params["model_folder"] = "../../../models/"
将其改为model的绝对路径,例如在我的电脑中为:
params["model_folder"] = "D:/ProgramFiles/openpose-1.7.0/models/"
最后运行01_body_from_image.py就成功了,如下: