2015-10-21 58 views

回答

2

通過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/

+0

我需要添加'-D BUILD_SHARED_LIBS = OFF',因爲它所做的'cv2.so'二進制文件找不到我的dylib(?),並且我也跟着第一個網站上的更新聲明OpenCV 3.1.0已損壞,除非切換到'-D INSTALL_C_EXAMPLES = OFF'(並沒有試圖用它打開) –

+0

我得到這個錯誤,我運行'make -j8':'致命錯誤:'opencv2/core/hal/intrin.hpp'找不到文件' 。任何想法如何解決這個問題? – sooon

+0

@NickT謝謝,我已經更新了3.1.0的答案。不過不知道BUILD_SHARED_LIBS是怎麼處理的。 – Wesley