【问题标题】:Python OpenNI2 libOpenNI2.so problemsPython OpenNI2 libOpenNI2.so 问题
【发布时间】:2013-11-28 05:36:52
【问题描述】:

我正在尝试在 Ubuntu 下的 kinect 上使用 Python primesense 模块。我似乎正确安装了 OpenNI2,因为我可以使用处理的 simple-openni 库在处理中运行示例。我使用 pip 安装了 primesense 模块,首先在 virtualenv 中,然后在系统上,得到了相同的结果。

从 iPython,我做/收到以下内容:

In [1]: from primesense import openni2

In [2]: openni2.initialize()
---------------------------------------------------------------------------
InitializationError                       Traceback (most recent call last)
<ipython-input-2-4a1f095d5922> in <module>()
----> 1 openni2.initialize()

/usr/local/lib/python2.7/dist-packages/primesense/openni2.pyc in initialize(dll_directories)
     95     if not found:
     96         raise InitializationError("OpenNI2 could not be loaded:\n    %s" %
---> 97             ("\n    ".join("%s: %s" % (dir, ex) for dir, ex in exceptions)),)
     98 
     99     _openni2_initialized = True

InitializationError: OpenNI2 could not be loaded:
    /home/escher/pyenv/libOpenNI2.so: file does not exist

我尝试创建一个从 /usr/lib/libOpenNI.so 到 /usr/lib/libOpenNI2.so 的符号,然后我更改为 /usr/lib/ 目录。这是我得到的:

openni2.initialize()
---------------------------------------------------------------------------
InitializationError                       Traceback (most recent call last)
<ipython-input-5-4a1f095d5922> in <module>()
----> 1 openni2.initialize()

/usr/local/lib/python2.7/dist-packages/primesense/openni2.pyc in initialize(dll_directories)
     95     if not found:
     96         raise InitializationError("OpenNI2 could not be loaded:\n    %s" %
---> 97             ("\n    ".join("%s: %s" % (dir, ex) for dir, ex in exceptions)),)
     98 
     99     _openni2_initialized = True

InitializationError: OpenNI2 could not be loaded:
    /usr/lib/libOpenNI2.so: /usr/lib/libOpenNI2.so: undefined symbol: oniInitialize

我是不是做错了什么,或者包装是否损坏,在任何一种情况下,我能做些什么来让某些东西正常工作吗?

【问题讨论】:

    标签: python dynamic-linking openni primesense


    【解决方案1】:

    问题是两件事的结合:

    1. 在 openni2.initialize() 上,我应该传入 Redist 目录的路径,它默认为 primesense 模块中的当前目录。

    2. 我没有为我的发行版下载正确的实现(尽管它似乎可以正常处理)。我已经下载、构建并安装了 OpenNI.master.zip,而我应该下载 OpenNI-Linux-x64-2.2.0.33.tar.zip。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多