1

みんな、

私は OpenCV Python バインドを起こそうと 3 日間試みましたが、(完全な壮大な闘争はここに文書化されています)、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 トランクをコンパイルしています。

4

2 に答える 2

0

新しい (SWIG 以外の) バインディングに問題がなければ、いずれにせよ優れているので、MacPorts 経由で直接インストールすることができます:

sudo port install opencv +python26

また

sudo port install opencv +python27

適切に。

Python用OpenCVのインストール方法も参照してください

于 2010-12-14T22:07:26.953 に答える
0

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/
于 2010-01-08T13:17:54.817 に答える