2010-09-10 12 views
7

mit der Installation von MacPorts von OpenCV scheint nicht die Python-Bindungen irgendwo zu installieren. Sind sie enthalten, wohin gehen sie?opencv macport python bindungen

+1

Haben Sie jemals bekommen diese unten mit eine der Antworten zu arbeiten? –

Antwort

10

Haben Sie ausgewählte + Python26 Variante für die MacPorts port?

$ sudo port install opencv +python26 
1

in

/Library/Python/2.6/site-packages 

erhalten installiert Diese sollten, wenn Sie sudo port install verwenden ..

Die Verzeichnisse 2.6, 2.5 .. auf Python-Version auf dem Pfad ab.

Danke Ned, Korrigieren der oben genannten - Dies sind Mac OS X-Verteilung.

Macports hat alles, was unter gelegt:

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

+0

Nicht wahrscheinlich. Mit ein paar Ausnahmen, MacPorts geht sehr viel * nicht *, um irgendetwas anders als unter seinem eigenen root, '/ opt/local /', zu installieren. Die MacPorts python2.6 installiert Site-Pakete in der Verzeichnisstruktur '/ opt/local/Library/Frameworks/Python.framework'. –

1

sicher sein py26-numpy installiert haben Unterstützung für grundlegende Funktionen wie cv.fromarray haben:

sudo port install py26-numpy 

opencv ohne numpy leise kompilieren (es ist nicht streng eine Abhängigkeit ist).

sudo port install -v opencv +python26 

Dort können Sie überprüfen, ob die Bindung an numpy wirksam ist.

7

Ich habe das gleiche Problem erlebt. Offenbar werden die Python-Bindungen von OpenCV erstellt und installiert, aber sie werden nicht im Verzeichnis "site-packages" referenziert. Ich habe eine Lösung gefunden, indem ich einen symbolischen Link zu der gebauten Datei "cv.so" im Verzeichnis "site-packages" des von MacPorts installierten Python-Pakets hinzufüge. Diese Anweisungen werden auf einem Setup unter Mac OS 10.6.6 getestet. Das Thema MacPorts-Pakete sind "python27" und "opencv".

Um sicherzustellen, dass die Python-Bindings tatsächlich auf dem Laufwerk sind, müssen Sie Ihnen das opencv Paket mit der Python-Variante, um sicherzustellen, aufgerufen:

sudo port install opencv +python27 

Die „cv.so“ Shared Object-Datei gebaut werden im folgenden Verzeichnis:

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

Es wird notwendig sein, einen symbolischen Link in Ihrem Python-Verzeichnis "site-packages" zu erstellen. Sie können den Pfad zu diesem Verzeichnis finden, indem Sie diese Befehle in Ihren Python-Interpreter ausführen:

from distutils.sysconfig import get_python_lib 
print get_python_lib() 

Der zurück Pfad folgend ähneln sollte:

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

Erstellen Sie einen symbolischen Link zu dem gemeinsamen Objekt ("Lebenslauf.so ") in diesem Verzeichnis:

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

Jetzt sollten Sie in der Lage sein, das cv-Modul in Ihrem Dolmetscher zu importieren:

import cv 

IhrFormal Setup etwas anders sein könnte, wenn Sie eine andere Version von Python verwenden oder OpenCV, aber die allgemeine Methodik sollte die gleiche sein mit Ausnahme der Pfadnamen.Es könnte eine bessere Möglichkeit, dies zu tun, aber diese Methode scheint gut zu funktionieren.

+0

Ich musste das Gleiche tun. – AlcubierreDrive

-1

Hier ist, was ich tun musste:

SCHRITT EINS

Verwenden Macports opencv zu installieren.

SCHRITT ZWEI

Setzen Sie diese beiden Dateien irgendwo auf Ihrem PYTHONPATH (zum Beispiel in der site-packages):

SCHRITT DREI

Erstellen Sie die unten Softlinks (weil cv2.so die dylibs in /usr/local werden erwartet aber MacPorts installiert zu /opt/local):

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