2010-09-10 17 views
7

en utilisant l'installation MacPorts d'OpenCV ne semble pas installer les liaisons python n'importe où. Sont-ils inclus, où vont-ils?opencv macport python bindings

+1

Avez-vous jamais que cela fonctionne avec l'une des réponses ci-dessous? –

Répondre

10

Avez-vous sélectionné le + Python26 variante pour le MacPorts port?

$ sudo port install opencv +python26 
1

Cela devrait s'installé dans

/Library/Python/2.6/site-packages 

si vous utilisez installer sudo port ..

Les répertoires 2.6, 2.5 .. dépendra de la version python sur le chemin.

Merci Ned, Correction de ce qui précède - Ce sont mac os x distribution.

Macports ne met tout sous:

/opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/site-packages

+0

Peu probable. À quelques exceptions près, MacPorts se donne beaucoup de mal * pour * installer n'importe quoi ailleurs que sous sa propre racine, '/ opt/local /' par défaut. MacPorts python2.6 installe les packages de site dans son arborescence de répertoires '/ opt/local/Library/Frameworks/Python.framework'. –

1

assurez-vous d'avoir installé py26-numpy d'avoir un soutien pour les fonctions de base telles que cv.fromarray:

sudo port install py26-numpy 

opencv compilera en silence sans numpy (ce n'est pas strictement une dépendance).

sudo port install -v opencv +python26 

vous pouvez vérifier que la liaison à numpy est efficace.

7

J'ai rencontré ce même problème. Il semble que les liaisons OpenCV Python sont construites et installées, mais elles ne sont pas référencées dans le répertoire "site-packages". J'ai trouvé une solution en ajoutant un lien symbolique au fichier "cv.so" construit dans le répertoire "site-packages" du paquet Python installé par MacPorts. Ces instructions sont testées sur une configuration utilisant Mac OS 10.6.6. Les paquets MacPorts en question sont "python27" et "opencv".

Pour veiller à ce que les liaisons Python sont en fait sur votre disque dur, vous devez vous assurer que vous invoquez le paquet OpenCV avec la variante python:

sudo port install opencv +python27 

Le « cv.so » fichier objet partagé sera construit dans le répertoire suivant:

/opt/local/@@[email protected]@ 

Il sera nécessaire de créer un lien symbolique dans votre répertoire Python « site-packages ». Vous pouvez trouver le chemin de ce répertoire en exécutant ces commandes dans votre interpréteur Python:

from distutils.sysconfig import get_python_lib 
print get_python_lib() 

Le chemin de retour devrait être similaire à ce qui suit:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 

Créer un lien symbolique vers l'objet partagé ("CV.si ") dans ce répertoire:

ln -s /opt/local/@@[email protected]@/cv.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv.so 

Maintenant, vous devriez être en mesure d'importer le module de cv au sein de votre interprète:

import cv 

Votre configuration pourrait être légèrement différente si vous utilisez une autre version de Python Ou OpenCV, cependant, la méthodologie générale devrait être la même à l'exception des noms de chemin, mais il y a peut-être une meilleure façon de le faire, mais cette méthodologie semble bien fonctionner

+0

Je devais faire la même chose. – AlcubierreDrive

-1

Voici ce que j'ai dû faire:

ÉTAPE 1

Utilisez Macports pour installer opencv.

ÉTAPE

Mettez ces deux fichiers quelque part sur votre PYTHONPATH (par exemple dans votre site-packages):

TROISIÈME ÉTAPE

Créer les liens ci-dessous doux (car cv2.so attend les dylibs d'être en /usr/local mais MacPorts à /opt/local installe):

cd /usr/local/lib/ 
ln -s /opt/local/lib/libopencv_core.2.3.dylib libopencv_core.2.3.dylib 
ln -s /opt/local/lib/libopencv_flann.2.3.dylib libopencv_flann.2.3.dylib 
ln -s /opt/local/lib/libopencv_imgproc.2.3.dylib libopencv_imgproc.2.3.dylib 
ln -s /opt/local/lib/libopencv_video.2.3.dylib libopencv_video.2.3.dylib 
ln -s /opt/local/lib/libopencv_ml.2.3.dylib libopencv_ml.2.3.dylib 
ln -s /opt/local/lib/libopencv_features2d.2.3.dylib libopencv_features2d.2.3.dylib 
ln -s /opt/local/lib/libopencv_highgui.2.3.dylib libopencv_highgui.2.3.dylib 
ln -s /opt/local/lib/libopencv_calib3d.2.3.dylib libopencv_calib3d.2.3.dylib 
ln -s /opt/local/lib/libopencv_objdetect.2.3.dylib libopencv_objdetect.2.3.dylib 
ln -s /opt/local/lib/libopencv_legacy.2.3.dylib libopencv_legacy.2.3.dylib 
ln -s /opt/local/lib/libopencv_contrib.2.3.dylib libopencv_contrib.2.3.dylib