簡體   English   中英

帶有MacPorts的OpenCV 2.0的SWIG Python綁定

[英]SWIG Python bindings for OpenCV 2.0 with MacPorts

你們,

我已經花了三天時間嘗試使OpenCV Python綁定發生,並且我已經(完整的史詩般的斗爭記錄在這里 ),但是盡管在通過Macports安裝swig之后在CMake中打開了SWIG標志,但我沒有得到任何幫助SWIG動作:(

我的cmake命令如下所示:

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 ..

這會拉出此錯誤:

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

所以我想它找不到我所擁有的:

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

我該如何告知呢? 用類似的東西

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

???

我通過Macports使用OSX 10.5.8,Python 2.6,並編譯了最新的OpenCV-trunk。

似乎cmake標志沒有太大的區別。 我變得系統化,並將其降至最低:

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 ..

並且我設法編譯了所有內容,但是當我厭倦了“導入cv”贏得Python時,我不斷收到以下錯誤:

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

這是因為darwin上的編譯器默認為python的系統版本。 我聽了一些建議 ,發現它像一種魅力:

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

如果您對較新的(非SWIG)綁定沒問題,反而是更好,您可以直接通過MacPorts安裝:

sudo port install opencv +python26

要么

sudo port install opencv +python27

作為適當的。

另請參閱如何為Python安裝OpenCV

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM