ubuntu环境安装opencv与python-opencv
opencv介绍
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
它轻量级而且高效,由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
该库也有大量的Python、Java 和 MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。
opencv安装
本安装步骤是基于Ubuntu环境下进行
Step1. 安装依赖库
用户据自己的情况选择,如果不知道自己安装了那些依赖,就都输入一遍,如果已经安装系统会自动跳过,不会重复安装
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
依赖 | 说明 |
---|---|
build-essential | 安装了该软件包,编译c/c++ 所需要的软件包也都会被安装。如果想在Ubuntu中编译c/c++ 程序,只需要安装该软件包就可以了 |
cmake | CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程),并输出各种各样的makefile或者project文件 |
git | 版本管理工具 |
libgtk2.0-dev | GTK工具包的开发库 |
pkg-config | 用于列举出某个库的相关信息,比如此库的路径、相关头文件路径等,这在程序编译时将非常有用 |
libavcodec-dev | 提供通用编码/解码框架,包含用于音频,视频和字幕流的多个解码器和编码器,以及多个比特流过滤器 |
libavformat-dev | 为音频,视频和字幕流的多路复用和多路分解(多路复用和多路分解)提供了通用框架。它包含多媒体容器格式的多路复用器和分路器 |
libswscale-dev | 执行高度优化的图像缩放以及色彩空间和像素格式转换操作 |
python-dev | python的开发包,其中包括了一些用C/Java/C#等编写的python扩展在编译的时候依赖的头文件等信息 |
python-numpy | NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵 |
libtbb2 | 线程构建块 (Intel TBB),用于并行编程的基于 C++ 语言的框架 |
libjasper-dev | 用于编码和处理图像的软件的集合。该软件可以处理各种格式的图像数据 |
libdc1394-22-dev | IEEE1394数码相机的高级编程接口 |
Step2. 下载opencv
下载最新版本的opencv并解压
https://github.com/opencv/opencv/archive/3.4.5.zip
Step3. 编译opencv
编译比较消耗内存,且花时间较长,请在1G以上的主机上进行代码编译
cd ~/opencv-3.4.5 # 进入opencv文件夹
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j7 # 多线程执行make任务
sudo make install
apt方式安装
只用一行命令搞定
sudo apt-get install libcv-dev
Python 接口安装
可以直接通过pip
来进行安装
sudo pip3 install opencv-python
安装验证
import cv2 as cv
print(cv.__version__)
如果可以正常输出版本号,则说明安装成功