2015-01-17 10 views
6

Ich habe versucht (viele Male) OpenCV 3.0 für Python mit extra Paket zu installieren (sieben, surfen ...) aber ich scheitere immer, ich wirklich stecken bleiben. Ich habe versucht, in Haupt-Umgebung dann in virtuell diejenigen,Installiere OpenCV 3.0 mit zusätzlichen Modulen (sift, surf ...) für python

Hier ist, was ich getan habe:

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 

Unabhängig von der Art, wie ich versuche, es zu installieren, habe mich immer:

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'

mit:

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

Wenn jemand sehen, wo ich falsch ...

Vielen Dank

Antwort

9
>>> 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 

mit opencv3.0, müssen Sie eine XXXX_create() Funktion verwenden, eine Instanz so zu erhalten, ist es:

orb = cv2.ORB_create() 

und:

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

Vielen Dank, ich habe das vermisst, und meine Installation war endlich gut :) – jbdemonte

Verwandte Themen