Linux学习笔记(十一) -- Opencv库的编译和安装

1.Opencv简介

  • 什么是Opencv?
    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
  • 应用领域
    1、人机互动
    2、物体识别
    3、图像分割
    4、人脸识别
    5、动作识别
    6、运动跟踪
    7、机器人
    8、运动分析
    9、机器视觉
    10、结构分析
    11、汽车安全驾驶

2.测试平台

  • 测试平台
    Linux版本:Ubuntu 18.04 LTS
    Opencv版本:3.4.1

3.操作步骤

  • 3.1 编译方式介绍
    本文采用的编译方式:源代码+C Make。
  • 3.2 Opencv下载
    下载地址:https://opencv.org/releases.html
    下载链接截图:
    Linux学习笔记(十一) -- Opencv库的编译和安装_第1张图片
    下载完成后,将Opencv解压拷贝至Ubuntu中。
  • 3.3 登录root账户
    为了保证安装的顺利进行,首先将账户切换到root账户。切换方法见:https://blog.csdn.net/u014337397/article/details/80874667

  • 3.4 安装依赖库
    输入命令:

  sudo apt-get install libopencv-dev python-opencv
  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

可能错误:
3.4.1 安装依赖库时,可能会出现如下错误:
Linux学习笔记(十一) -- Opencv库的编译和安装_第2张图片
如果出现,则按照以下解决方案执行:
(1)执行命令:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

(2)重新执行出错前语句。
3.4.2 安装依赖库时,可能会出现如下错误:
Linux学习笔记(十一) -- Opencv库的编译和安装_第3张图片
如果出现,则按照以下解决方案执行:
(1)执行命令:

sudo apt install udo

(2)重新执行出错前语句。

  • 3.5 编译准备
    在Opencv-3.4.1文件夹中,新建build文件夹并进入。
  • 3.6 开始编译
    (1)设置编译参数,使用命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

注意:
ippicv_2017u3_lnx_intel64_general_20170822.tgz下载时间比较长,请耐心等待或者下载手动安装。
执行完成后的截图如下:
Linux学习笔记(十一) -- Opencv库的编译和安装_第4张图片

(2)输入命令:

make

操作完成后的截图如下:
Linux学习笔记(十一) -- Opencv库的编译和安装_第5张图片
(3)将 make 生成的文件安装到系统目录中,输入命令:

sudo make install

操作完成后的截图如下:
Linux学习笔记(十一) -- Opencv库的编译和安装_第6张图片

参考文档:
1.https://blog.csdn.net/qq_24626557/article/details/70173399
2.https://blog.csdn.net/li_wen01/article/details/71641408

栏目导航
上一篇:Linux学习笔记(十) – 基于Code::Blocks开发调用C++静态链接库的控制台程序
下一篇:Linux学习笔记(十二) – 第一个基于Opencv的C++程序

你可能感兴趣的:(Linux,Linux学习笔记)