文章目录
为什么要麻烦安装OpenCV 4?
在3.x版本的基础上,进一步的优化,C ++ 11支持,更加舒适紧凑的模块设计,以及对深度神经网络(DNN)模块的改进。
1.我应该在OpenCV 4中使用哪个版本的Ubuntu OS?
本次实操是在Ubuntu 18.04上安装OpenCV 4。在Ubuntu 16.04上我也测试过,完全兼容。
如果打算使用这台机器进行深度学习,我建议您使用Ubuntu 16.04,因为GPU驱动程序更加成熟。
如果您打算仅将这台机器用于OpenCV和其他计算机视觉项目,那么Ubuntu 18.04比较好。
2.我应该在OpenCV 4上使用Python 2.7还是Python 3?
Python 3已成为标配,我强烈建议你把Python 3与OpenCV 4一起装。
毕竟2.7已经不维护了,如果必须使用Python 2.7,当然也可以按照以下说明进行操作,只是请确保在创建虚拟环境时一定要安装Python 2.7的头文件和库文件,并指定Python 2.7。 其他的都一样。
开始安装
步骤1:在Ubuntu上安装OpenCV 4依赖项
以下演示是在Ubuntu 18.04上装:Python 3和OpenCV 4。
首先更新系统:
How to install OpenCV 4 on Ubuntu
$ sudo apt-get update
$ sudo apt-get upgrade
安装开发者工具
How to install OpenCV 4 on Ubuntu
$ sudo apt-get install build-essential cmake unzip pkg-config
然后安装图像和视频 I / O
库。
How to install OpenCV 4 on Ubuntu
$ sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
想在磁盘加载图像以及读取视频文件必须使用这些库。
然后给GUI后端安装GTK:
How to install OpenCV 4 on Ubuntu
$ sudo apt-get install libgtk-3-dev
安装俩包含对OpenCV进行数学优化的软件包
How to install OpenCV 4 on Ubuntu
$ sudo apt-get install libatlas-base-dev gfortran
最后安装python开发头文件
How to install OpenCV 4 on Ubuntu
$ sudo apt-get install python3-dev
有了以上依赖,就可以安装opencv了。
步骤2:下载OpenCV 4
主文件夹并下载opencv和 opencv_contrib
contrib库包含其他额外的模块和功能
然后按照下面的连接下载就好了,如果想下载其他版本,修改后面的链接即可。
How to install OpenCV 4 on Ubuntu
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0.zip
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
然后解压即可:
How to install OpenCV 4 on Ubuntu
$ unzip opencv.zip
$ unzip opencv_contrib.zip
建议重命名目录:
How to install OpenCV 4 on Ubuntu
$ mv opencv-4.0.0 opencv
$ mv opencv_contrib-4.0.0 opencv_contrib
如果你没有重命名目录,请不要忘记更新CMake
路径
现在 OpenCV
和 opencv_contrib
已经准备就绪了,接下来配置环境。
步骤3:为OpenCV 4配置Python 3虚拟环境
安装一个pip
How to install OpenCV 4 on Ubuntu
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
然后就可以利用虚拟环境进行Python开发了
Python虚拟环境可以独立处理Python项目,不会把环境搞坏。
例如,你有一个Python + OpenCV
项目,它需要较旧版本的scikit-learn(v0.14)
,但你想为较新的项目继续使用最新版本的scikit-learn(0.19)
使用虚拟环境,就可以分别处理这两个软件版本依赖了。
你要是对虚拟环境不熟悉,可以看这里
如果你更熟悉conda
或PyEnv
,请跳过此部分
继续安装 virtualenv
和 virtualenvwrapper
,这些软件包可以创建和管理Python虚拟环境:
How to install OpenCV 4 on Ubuntu
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/get-pip.py ~/.cache/pip
记得更新〜/.bashrc
文件
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
或者也可以使用命令行直接添加
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
然后 source
使生效
How to install OpenCV 4 on Ubuntu
$ source ~/.bashrc
创建一个虚拟环境–安装OpenCV 4和其他包
How to install OpenCV 4 on Ubuntu
$ mkvirtualenv cv -p python3
这个命令只是创建了一个Python 3的虚拟环境 cv
这个名字随便起,但是建议你的环境命名-简短、高效
例如:
py3cv4
py3cv3
py2cv2
py3cv4
可以代表 Python 3 + OpenCV 4
的虚拟环境
通过使用 workon
命令可以验证并激活当前的环境 cv
How to install OpenCV 4 on Ubuntu
$ workon cv
除此之外,还要安装numpy
How to install OpenCV 4 on Ubuntu
$ pip install numpy
现在可以准备在我们的Ubuntu机器上进行编译OpenCV 4
了
步骤#4:在Ubuntu上使用CMake编译OpenCV 4
这一步是最耗时的
返回OpenCV
的解压目录,并创建一个 build
目录
How to install OpenCV 4 on Ubuntu
$ cd ~/opencv
$ mkdir build
$ cd build
使用cmake开始编译
How to install OpenCV 4 on Ubuntu
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
-D BUILD_EXAMPLES=ON ..
注: -D OPENCV_ENABLE_NONFREE = ON
可以保证你使用其他算法。
保证在虚拟环境中的OPENCV_EXTRA_MODULES_PATH
和 PYTHON_EXECUTABLE
是正确的。
CMake
完成后,检查输出类似于以下内容
检查 Interpreter
指向正确的Python 3
二进制文件
检查numpy
指向虚拟环境中的地址
开始编译OpenCV 4
How to install OpenCV 4 on Ubuntu
$ make -j4
在make
的参数-j4
指定我有4个编译内核,大多数系统有2、4或8个内核
如果编译失败,则可以尝试使用1个内核进行编译。
完成后,就可以执行下面的命令安装了。
How to install OpenCV 4 on Ubuntu
$ sudo make install
$ sudo ldconfig
步骤#5:将OpenCV 4链接到Python 3虚拟环境
确定下python版本
How to install OpenCV 4 on Ubuntu
$ workon cv
$ python --version
Python 3.5
此时你的opencv应该链接在以下文件夹
How to install OpenCV 4 on Ubuntu
$ ls /usr/local/python/cv2/python-3.5
cv2.cpython-35m-x86_64-linux-gnu.so
重命名为cv2.so
How to install OpenCV 4 on Ubuntu
$ cd /usr/local/python/cv2/python-3.5
$ sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
提示:如果要同时安装OpenCV 3
和OpenCV 4
,请不要将文件重命名为cv2.so
,可以考虑为其命名 cv2.opencv4.0.0.so
下面那一步,从该文件将符号链接适当地链接到 cv2.so
也一样
How to install OpenCV 4 on Ubuntu
$ cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
$ ln -s /usr/local/python/cv2/python-3.5/cv2.so cv2.so
步骤#6:在Ubuntu上测试OpenCV 4
How to install OpenCV 4 on Ubuntu
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'4.0.0'
>>> quit()