前言:
使用sudo pip3 install 的方法无法在/usr/local/lib/python3.5/dist-package下安装cv2模块,所以采用virtualenv的方法,好处是不改变系统的python环境,对每一个新项目都可以新建一个虚拟环境,使用前workon 虚拟环境名
激活即可。关于virtualenv,可阅读:
https://realpython.com/python-virtual-environments-a-primer/
python3 安装opencv
关于virtualenv的初始化参考
https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/prepare:
解压opencv-3.2.0.zip
cd /usr/local
sudo mkdir opencv3.2.0_forpython_nocuda
- 编译
cd sourdir
不编译contri:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.2.0_python3.5.2_nocuda -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D PYTHON_EXECUTABLE=/usr/lib/python3 -D BUILD_EXAMPLES=ON -D WITH_CUDA=OFF ..
使用virtualenv
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.2.0_python3.5.2_nocuda -D PYTHON3_EXECUTABLE=~/.virtualenvs/cv/bin/python3 -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=~/.virtualenvs/cv/lib/python3.5/site-packages/numpy/core/include -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=ON -D WITH_CUDA=OFF ..
如果ippicv下载太慢
在确保MD5是808b791a6eac9ed78d32a7666804320e的情况下:
在OpenCV源代码的根目录下创建目录:
opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
把ippicv_linux_20151201.tgz拷贝到此文件夹下面
重新cmake
备注:
编译contri
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.2.0_python3.5.2_nocuda -D PYTHON3_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.5 -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D PYTHON_EXECUTABLE=/usr/lib/python3 -D BUILD_EXAMPLES=ON -D WITH_CUDA=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules ..
- sudo make install
- sudo ldconfig
这时候,我们需要的cv2.so在
/usr/local/opencv3.2.0_python3.5.2_nocuda/lib/python3.5/site-packages/cv2.xxxxxx.so
在 ~/.virtualenvs/cv/lib/python3.5/site-packages/目录下建立软链接即可