1

我最近需要从事视觉计算方面的工作,我使用了 OpenPose,它看起来是一个很有前途的工具。CMU 感知计算实验室的 OpenPose 的
GitHub 链接

由于我正在使用 Windows 10 并使用 Python 3.7.5 进行开发(我使用其他需要 的库Python<3.8),因此我遵循了为 Windows 提供的说明
所以一开始,我使用了“懒惰的方式”:只需下载预构建版本 v1.7.0,解压,然后执行model/getBaseModels.bat脚本,一切正常。我什至可以从examples目录中运行示例。

但是条件是在这个目录下执行python,因为在*.py的源代码中(再次运行正常),我们可以找到这段代码:

sys.path.append(dir_path + '/../bin/python/openpose/Release');
os.environ['PATH']  = os.environ['PATH'] + ';' + dir_path + '/../x64/Release;' +  dir_path + '/../bin;'
import pyopenpose as op

而不是简单明了
import pyopenpose as op
(而且我觉得奇怪的是,即使是示例也使用了解决方法)

原因很简单,在文件夹中..\bin我们找到了大约 90 个 DLL,并在..\bin\python\openpose\Release\其中找到了这 3 个文件:

  • pyopenpose.cp37-win_amd64.pyd
  • pyopenpose.exp
  • pyopenpose.lib

可以肯定的是,我在一个完全不同的文件夹中复制了一个脚本,还复制了 DLL 和最后 3 个文件。在这种情况下,如果我import pyopenpose使用 python 运行,我不会收到任何错误,但我无法运行示例脚本(例如,module 'pyopenpose' has no attribute 'WrapperPython')。
但我不想为我制作的每个项目都包含所有 90 个 DLL。

所以我想如果所有这些文件都存储在 Python 安装目录中,就像任何安装的包一样pip,我可以用一个简单的import pyopenpose.

所以我的问题是:pyopenpose下载后安装软件包的好方法是什么?


附加信息:出于“好奇”,我也尝试使用 CMake 构建项目,但是,当然,结果是一样的。我对CMake了解不多,但我认为可以通过更改一些参数来绕过这个问题,比如关闭BUILD_SHARED_LIBS例如。但这不是很聪明...


附加问题:我还必须在我工作的 Ubuntu 上安装它,我也有同样的问题。解决方案会一样吗?

4

0 回答 0