OpenCV-3.0.0-beta缺少xfeatures2d子模块(Python3.4)

时间:2014-11-14 21:03:40

标签: python opencv shared-libraries

我正在尝试将OpenCV 3.0与Anaconda Python3.4一起使用。我从Github编译了opencv源代码以及随附的opencv_contrib存储库,并将它们安装在本地目录中。

现在,启动python我可以导入cv2模块并执行加载和显示图像等操作。然而,似乎子模块xfeatures2d并不存在。

>>> import cv2
>>> cv2.xfeatures2d
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'xfeatures2d'

有趣的是,如果我尝试import cv2.xfeatures2d,我就不会收到任何错误(尽管我仍然无法使用它)

共享库文件存在于~/MyOpenCV3Install/lib/libopencv_xfeatures2d.so.3.0.0中。我的第一个猜测是它没有被加载由于某种原因,所以我尝试在启动python之前使用LD_PRELOAD环境变量强制它。但到目前为止仍然没有运气。

对我而言,使用python3.4环境并不起作用。但是,当使用python2.7环境时,一切正常。导入cv2模块后,我可以调用cv2.xfeatures2d.SURF_create()之类的函数而不会出错。

有没有人知道为什么xfeatures2d子模块在使用python3.4时不可用?是否有可能为opencv_contrib创建的python绑定与python3不兼容?

编辑:

我在cmake配置步骤中使用了以下选项:

BUILD_opencv_python3=ON
PYTHON3_EXECUTABLE=/home/mi/anaconda/envs/env3.4/bin/‌​python3.4
PYTHON3_INCLUDE_DIR=/home/mi/anaconda/envs/env3.4/include/python3.4.m‌​
PYTHON3_LIBRARY=/home/mi/anaconda/envs/env3.4/lib/libpython3.4m.so
PYTHON3_N‌​UMPY_INCLUDE_DIR=/home/mi/anaconda/envs/env3.4/lib/python3.4/site-packages/numpy/‌​core/include
PYTHON3_PACKAGES_PATH=/home/mi/anaconda/envs/env3.4/lib/python3.4/‌​site-packages

0 个答案:

没有答案