2013-11-28 81 views
1

我想在Ubuntu下使用我的kinectct上的Python primesense模块。我似乎已经正确安装了OpenNI2,因为我能够使用处理的simple-openni库在处理正常的情况下运行示例。我使用pip安装了primesense模块,首先在virtualenv中,然后在系统上安装,结果相同。Python OpenNI2 libOpenNI2.so问题

从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 

我做得不对或/破损包(S),并在这两种情况下,有什么我能做的,只是找些工作?

回答

1

问题是两件事情的组合:

  1. 在openni2.initialize(),我应该在路径Redist目录通过并且它默认为PrimeSense的模块在当前目录。

  2. 我没有正确的实现为我的发行版下载(虽然它似乎适用于处理)。我已经下载,构建并安装了OpenNI.master.zip,我应该下载OpenNI-Linux-x64-2.2.0.33.tar.zip。