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
Répondre
Avez-vous sélectionné le + Python26 variante pour le MacPorts port?
$ sudo port install opencv +python26
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
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'. –
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.
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
Je devais faire la même chose. – AlcubierreDrive
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
):
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv.py
- https://github.com/jonmrodriguez/opencv-2.3-new-python-bindings/blob/master/cv2.so
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
Avez-vous jamais que cela fonctionne avec l'une des réponses ci-dessous? –