为Python安装带有额外模块(筛选,浏览...)的OpenCV 3.0 [英] Install OpenCV 3.0 with extra modules (sift, surf...) for python

查看:106
本文介绍了为Python安装带有额外模块(筛选,浏览...)的OpenCV 3.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用额外的软件包(sift,surf ...)为python安装(很多次)OpenCV 3.0,但我总是失败,我真的被卡住了. 我在主要环境中尝试过,然后在虚拟环境中尝试过

I tried to install (many many times) OpenCV 3.0 for python with extra package (sift, surf...) but I always fails, I really get stuck. I tried in main environment then in virtual ones,

这是我所做的:

cd git
git clone https://github.com/Itseez/opencv_contrib.git
cd ..
wget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip
unzip 3.0.0-beta.zip
cd opencv-3.0.0-beta/
mkdir release
cd release/
workon OCR
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/jbd/src/opencv-3.0.0b -D OPENCV_EXTRA_MODULES_PATH=/home/jbd/git/opencv_contrib/modules -D BUILD_opencv_python3=ON -D PYTHON2_EXECUTABLE=/home/jbd/.virtualenv/OCR/bin/python -D PYTHON_INCLUDE_DIR=/home/jbd/.virtualenv/OCR/include/python2.7 -D PYTHON_LIBRARY=/usr/lib/libpython2.7.so -D PYTHON2_NUMPY_INCLUDE_DIRS=/home/jbd/.virtualenv/OCR/local/lib/python2.7/site-packages/numpy ..
make -j7
make install
cd ~/.virtualenv/OCR/lib/python2.7/site-packages/
ln -s /home/jbd/src/opencv-3.0.0b/lib/python2.7/site-packages/cv2.so

无论我以哪种方式安装它,我总能得到:

Whatever the way I try to install it, I always get:

回溯(最近通话最近): 在第10行中输入文件"/home/jbd/git/ocr/test.py" 筛选= cv2.xfeatures2d.SIFT() AttributeError:模块"对象没有属性"SIFT"

Traceback (most recent call last): File "/home/jbd/git/ocr/test.py", line 10, in sift = cv2.xfeatures2d.SIFT() AttributeError: 'module' object has no attribute 'SIFT'

具有:

import numpy as np
import cv2
sift = cv2.xfeatures2d.SIFT()

如果有人看到我错了...

If someone see where I'm wrong...

非常感谢

推荐答案

>>> help(cv2.xfeatures2d)
Help on module cv2.xfeatures2d in cv2:

NAME
    cv2.xfeatures2d

FILE
    (built-in)

FUNCTIONS
    SIFT_create(...)
        SIFT_create([,nfeatures[,nOctaveLayers[,contrastThreshold[,edgeThreshold[,sigma]]]]) -> retval

    SURF_create(...)
        SURF_create([,hessianThreshold[,nOctaves[,nOctaveLayers[,extended[,upright]]]]]) -> retval


对于opencv3.0,必须使用XXXX_create()函数来获取实例 因此,它是:


with opencv3.0, you have to use a XXXX_create() function, to get an instance so, it's :

orb = cv2.ORB_create()

和:

sift = cv2.xfeatures2d.SIFT_create()
sift.detect(...)
sift.compute(...)

这篇关于为Python安装带有额外模块(筛选,浏览...)的OpenCV 3.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆