利用pip安装python版本的opencv
opencv-python依赖模块
apt-get install libglib2.0-0 -y \
&& apt-get install libsm6 -y \
&& apt-get install libxrender-dev -y \
&& apt-get install libxext-dev -y
time yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false -y
pip uninstall opencv-python #卸载opencv
pip install opencv-python==3.4.0.12 #安装指定版本
pip install -U opencv-python #更新至最新版本
Q: 无法用pip安装opencv pip install opencv-python
Downloading/unpacking opencv-python
Could not find any downloads that satisfy the requirement opencv-python
A:对pip进行更新 pip install -U pip;若还不行,则使用sudo pip install opencv-python
root@4f3dca18946e:~# pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
root@4f3dca18946e:~# sudo pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
root@4f3dca18946e:~# sudo pip install opencv-python
python -c 'import cv2;print cv2.__version__' #测试命令
Q:
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named 'cv2'
A:
系统环境变量找不到模块路径,将/PATH/TO/lib[64]/python2.7路径添加至环境变量即可
Q:
Traceback (most recent call last):
File "", line 1, in
ImportError: libz-a147dcb0.so.1.2.3: cannot open shared object file: No such file or directory
A:
环境变量中存在多个cv2.so,可全部删除,重新安装。或先将/PATH/TO/lib[64]/python2.7/cv2.so删除进行尝试
Q:
cv2版本不是最新的
A:
同上,删除多个cv2.so,重新安装
添加环境变量的方法可参考该文章
源码编译Opencv, ubuntu16.4上安装opencv3.4可查看这里。
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/opencv-3.2 \ #安装路径
-DOPENCV_EXTRA_MODULES_PATH=/PATH/TO/opencv_contrib/modules \ #第三方库
-DWITH_CUBLAS=ON \ #其他配置项
-DWITH_LAPACK=ON \
-DWITH_LIBV4L=ON .. >Mycmake.log #配置
make -j16 && sudo make install #编译
sudo ldconfig #*设置为系统共享的动态链接库*
ln -s /PATH/TO/build/bin/* /usr/bin/ 创建执行文件的链接
ln -s /usr/bin/make /usr/bin/gmake
pkg-config --modversion opencv
cp /PATH/TO/INSTALL/lib/[PYTHON2.7/site-packages]/cv2.so /usr/lib[64]/python2.7/site-packages #安装路径如上配置的/usr/local/opencv-3.2
虚拟环境及opencv_contrib的安装
Install OpenCV 3.4.4 on Ubuntu 16.04