2010-01-07 14 views
1

Y'all,SWIG liaisons Python pour OpenCV 2.0 avec MacPorts

Je suis à la pendant 3 jours en essayant d'obtenir OpenCV Python lie qui se passe, et je l'ai (la lutte épique complète est documented here), mais en dépit de rotation le drapeau SWIG dans cMake après l'installation rasade via MacPorts, je ne reçois aucune action SWIG :(

Ma commande cmake ressemble:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_SWIG_PYTHON_SUPPORT=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON -D BUILD_TESTS=ON -D PYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Headers -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_SWIG_PYTHON_SUPPORT=ON -D CMAKE_CXX_COMPILER=/usr/bin/g++-4.2 -D CMAKE_C_COMPILER=/usr/bin/gcc-4.2 .. 

qui tire cette erreur:

-- Looking for libavformat/avformat.h 
-- Looking for libavformat/avformat.h - not found 
-- Looking for ffmpeg/avformat.h 
-- Looking for ffmpeg/avformat.h - not found 

SO Je suppose que ne pas trouver celui que j'ai à:

/opt/local/include/libavformat/avformat.h 

Comment puis-je le dis à ce sujet? Avec quelque chose comme

-D CMAKE_CXX_FLAGS="-I/opt/local/include" -D CMAKE_SHARED_LINKER_FLAGS="-L/opt/local/lib" 

??? J'utilise OSX 10.5.8, Python 2.6 via Macports et compile le dernier tronc OpenCV.

Répondre

0

Il semble que les drapeaux cmake n'ont pas vraiment fait la différence. Je suis devenu systématique et les réduit au minimum:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_SWIG_PYTHON_SUPPORT=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_INCLUDE_DIR=/opt/local/Library/Frameworks/Python.framework/Headers -D CMAKE_CXX_COMPILER=/usr/bin/g++-4.2 -D CMAKE_C_COMPILER=/usr/bin/gcc-4.2 -D BUILD_SWIG_PYTHON_SUPPORT=ON .. 

et je réussi à compiler tout, mais quand je fatigué « importer cv » gagner Python je continué à obtenir l'erreur suivante:

Fatal Python error: Interpreter not initialized (version mismatch?) 

qui est parce que le compilateur sur darwin par défaut à la version du système de python. J'ai suivi some advice et a trouvé cela a fonctionné comme un charme:

sudo chmod 000 /System/Library/Frameworks/Python.framework/ 
cmake ... 
sudo chmod 755 /System/Library/Frameworks/Python.framework/ 
0

Si vous êtes ok avec les plus récents (non SWIG), les liaisons qui sont mieux quand même à mon humble avis, il vous suffit d'installer directement via MacPorts:

sudo port install opencv +python26 

ou

sudo port install opencv +python27 

selon le cas.

Voir aussi How to install OpenCV for python

+0

ressemble les liaisons Python sont une variante - est + Python26 nécessaire? –

+0

Ahh ... c'est probablement le cas. Modification de ma réponse - merci! –