2016-07-10 1 views
0

Je suis en train d'utiliser filtrons OpenCV pour Reconnaissances d'objets d'image, alors j'ai commencé avec ce code pour tester l'environnement:filtrons OpenCV dans l'éditeur de script Kaggle

import cv2 
img = cv2.imread('../input/train_2/2.jpg') 
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
sift = cv2.xfeatures2d.SIFT_create() 
kp = sift.detect(gray,None) 
img=cv2.drawKeypoints(gray,kp) 
cv2.imwrite('sift_keypoints.jpg',img) 

quand je lance le code i obtenu cette erreur :

AttributeError: module 'cv2' has no attribute 'xfeatures2d'

Il semble que le package OpenCV installé ne prend pas en charge SIFT. Comment puis-je le réparer?

Répondre

0

EIPD fait partie du paquet opencv-contrib qui est pas livré avec le paquet OpenCV contiennent des modules expérimentaux et non libres - donc être au courant de la licence et ainsi ...

vous devez construire avec OpenCV extra modules, vous devez:

  1. Télécharger ou cloner les OpenCV-contrib
  2. utiliser cet indicateur dans la ligne de commande cMake: cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <other_flags> <opencv_source_directory>