2
花了我一會兒才弄明白,所以我想我會寫下來。在OSX上使用python 3.5.0編譯OpenCV3與pyenv
花了我一會兒才弄明白,所以我想我會寫下來。在OSX上使用python 3.5.0編譯OpenCV3與pyenv
通過pyenv共享庫支持安裝Python:
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.5.0
創建一個新的virtualenv名爲OpenCV的
pyenv virtualenv 3.5.0 opencv
激活的virtualenv並安裝numpy的
pyenv activate opencv
pyenv rehash
pip install numpy
克隆的OpenCV和opencv_contrib並將其放入〜/
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.1.0
cd ~
git clone https://github.com/Itseez/opencv_contrib
cd opencv_contrib
git checkout 3.1.0
cd ~/opencv
mkdir build
cd build
運行CMake和安裝
PREFIX_MAIN=`pyenv virtualenv-prefix`
PREFIX=`pyenv prefix`
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX="$PREFIX" \
-D PYTHON3_EXECUTABLE="$PREFIX"/bin/python3.5 \
-D PYTHON3_PACKAGES_PATH="$PREFIX"/lib/python3.5/site-packages \
-D PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.5m.dylib \
-D PYTHON3_INCLUDE_DIR="$PREFIX_MAIN"/include/python3.5m \
-D PYTHON3_NUMPY_INCLUDE_DIRS="$PREFIX"/lib/python3.5/site-packages/numpy/core/include \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_python3=ON \
-D INSTALL_NAME_DIR=${CMAKE_INSTALL_PREFIX}/lib \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
make -j8
make install
注意:如果你正在使用Python 3.5.2,你需要改變
PYTHON3_EXECUTABLE="$PREFIX"/bin/python3
PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.5m.a
源:這兩個指南基本上一起搗碎 http://www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/ https://stackoverflow.com/a/24112175/1591757 http://answers.opencv.org/question/4134/cmake-install_name_tool-absolute-path-for-library-on-mac-osx/
我需要添加'-D BUILD_SHARED_LIBS = OFF',因爲它所做的'cv2.so'二進制文件找不到我的dylib(?),並且我也跟着第一個網站上的更新聲明OpenCV 3.1.0已損壞,除非切換到'-D INSTALL_C_EXAMPLES = OFF'(並沒有試圖用它打開) –
我得到這個錯誤,我運行'make -j8':'致命錯誤:'opencv2/core/hal/intrin.hpp'找不到文件' 。任何想法如何解決這個問題? – sooon
@NickT謝謝,我已經更新了3.1.0的答案。不過不知道BUILD_SHARED_LIBS是怎麼處理的。 – Wesley