1. 安装依赖库

1.1 必须安装库

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

1.2 可选安装库

sudo apt-get install python-dev python-numpy python3-dev python3-numpy
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

建议以上依赖库都安装,避免后续出现各种依赖问题。

2. 下载 OpenCV 源码

在官网 https://opencv.org/releases/ 选择对应版本的 OpenCV , 一般选择 Sources 包下载。这里我选择 OpenCV4.0 的安装包。

3. 安装 OpenCV

3.1 解压下载的压缩包

unzip 4.0.0.zip

3.2 创建编译目录

cd opencv-4.0.0
mkdir build && cd build

3.3 开启 OpenCV 的 pkg-config 功能(可选)

修改 OpenCVCMakeLists.txt 文件,在第 342 行将生成 generate.pc file 的选项打开,默认是 OFF

 OCV_OPTION(OPENCV_GENERATE_PKGCONFIG  "Generate .pc file for pkg-config build tool (deprecated)" ON)

编译后会在 /usr/local/lib/pkgconfig 下面生成opencv.pc 文件,最后在 ~/.bashrc 中设置 PKG_CONFIG_PATH 的路径如下:

gedit ~/.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

或者在 3.4 步骤中增加 -D OPENCV_GENERATE_PKGCONFIG=YES 命令

  • -D OPENCV_GENERATE_PKGCONFIG=YES :OpenCV4 以上版本默认不使用 pkg-config ,该编译选项开启生成 opencv4.pc 文件,支持 pkg-config 功能。

3.4 配置 cmake

cmake \-D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D BUILD_SHARED_LIBS=ON \-D WITH_LIBV4L=ON \-D WITH_V4L=ON \-D WITH_QT=OFF \-D BUILD_EXAMPLES=OFF \-D BUILD_DOCS=OFF \-D BUILD_TESTS=OFF \-D BUILD_PERF_TESTS=OFF \-D BUILD_PNG=ON \-D BUILD_JASPER=ON \-D BUILD_JPEG=ON \-D BUILD_TIFF=ON \-D WITH_PNG=ON \-D WITH_JASPER=ON \-D WITH_TIFF=ON \-D BUILD_ZLIB=ON \-D WITH_JPEG=ON \-D OPENCV_GENERATE_PKGCONFIG=ON ..

其中:

  • -D CMAKE_INSTALL_PREFIX=/usr/local 表示 默认各部分分别安装在 /usr/local/ 目录的 include/ bin/ lib/ 3个文件夹下。
  • BUILD_SHARED_LIBS=ON 为生成动态库标记

3.5 make 编译

make -j$(nproc)     // nproc是读取CPU的核心数量

3.6 make 安装

sudo make install

3.7 添加库路径

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加以下内容:

/usr/local/lib

3.8 更新系统库

sudo ldconfig

之后可以在终端输入 pkg-config --libs opencv4pkg-config --cflags opencv4 检验一下,我的输出如下:

wohu@wohu:~/C++$ pkg-config --libs opencv4
-L/usr/local/lib -lopencv_photo -lopencv_dnn -lopencv_stitching -lopencv_objdetect -lopencv_gapi -lopencv_ml -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
wohu@wohu:~/C++$ pkg-config --cflags opencv4
-I/usr/local/include/opencv4/opencv -I/usr/local/include/opencv4

3.9 配置 bash

sudo gedit /etc/bash.bashrc

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存,执行如下命令使得配置生效:

source /etc/bash.bashrc

更新

sudo updatedb

4. 验证是否安装成功

进入 opencv-4.0.0/samples/cpp/example_cmake 目录下,官方已经给出了一个 cmakeexample ,我们可以拿来测试下。按顺序执行:

cd opencv-4.0.0/samples/cpp/example_cmake/
cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个 Hello OpenCV ,即表示配置成功。

也可以通过手动执行编译 cpp 文件,如果编译时 BUILD_SHARED_LIBS=OFF 则需要增加静态库标记 --static

g++ -std=c++11 example.cpp -o ex   `pkg-config --libs --static  opencv4` `pkg-config --cflags opencv4`

然后执行生成的二进制文件达到同样的效果。

Ubuntu 安装 OpenCV4 详细步骤相关推荐

  1. Ubuntu安装Anaconda详细步骤(Ubuntu21.10,Anaconda3)

    本文主要讲述了在Ubuntu中安装anaconda的具体步骤 准备环境:Ubuntu21.10,Anaconda3 1.下载Anaconda3 在清华镜像下载Linux版本的anaconda 清华镜像 ...

  2. Ubuntu安装Anaconda详细步骤

    本文主要讲述了在Ubuntu中安装anaconda的具体步骤. 准备环境:Ubuntu,Anaconda3 一.安装Anaconda3 在清华镜像下载Linux版本的anaconda: https:/ ...

  3. ubuntu安装redis 详细步骤

    简言 1. 笔者电脑系统环境:ubuntu16.04 2. redis版本:5.0.7,如果你没有可以到我的百度网盘进行下载,地址:https://pan.baidu.com/s/1RHL1B3N8Q ...

  4. Centos安装MySQL详细步骤(亲妈级教程)

    Centos安装MySQL详细步骤(亲妈级教程) {ubuntu安装mysql,其他linux安装MySQL同理} 0.下载 官网下载:MySQL 百度云下载: 链接:https://pan.baid ...

  5. 哪些是能安装mysql的文件_安装mysql详细步骤有哪些?

    安装mysql详细步骤有哪些? 安装mysql详细步骤有: MySQL下载 进入页面官网,找到下载页面页面下拉,找到如下图,然后点击下载Windows (x86, 64-bit), ZIP Archi ...

  6. centos7安装es mysql_Centos7 安装MySQL详细步骤

    Centos7 安装MySQL详细步骤 首先在虚拟机中安装一个Centos7(VM虚拟机安装Centos7) 1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wge ...

  7. centos6.8安装oracle12C 详细步骤讲解

    2019独角兽企业重金招聘Python工程师标准>>> centos6.8安装oracle12C 详细步骤讲解 安装前环境配置 1 root身份安装依赖包 [root@dlp ~]# ...

  8. svn中文语言包安装(最详细步骤)+Language Pack+TortoiseSVN 安装

    原文链接:https://blog.csdn.net/massillon/article/details/102780782 svn中文语言包安装(最详细步骤) 一. 查看自己的SVN 版本(这里省略 ...

  9. Mac系统下安装MySQL详细步骤

    Mac系统下安装MySQL详细步骤. 每次打开终端,都出现mysql 找不到的情况,这是因为路径问题. 解决办法.

最新文章

  1. R语言ggplot2可视化改变图中线条的透明度级别实战
  2. 梯度的直观理解_关于梯度、旋度和散度的直观理解
  3. Oracle查询忽略大小写的实现方法
  4. 4种方法让SpringMVC接收多个对象(转:http://blog.csdn.net/lutinghuan/article/details/46820023)
  5. Android之华为meta10 pro安卓8.0绑定服务(bindService)失败解决办法
  6. 字符串substring方法在jkd6,7,8中的差异
  7. MFC无边框对话框实现拖动
  8. 云计算之路-阿里云上:拔云见日的那一刻,热泪盈眶
  9. iPhone11 全线降价;哈啰出行否认大量裁员;LineageOS 17.1 发布| 极客头条
  10. 苹果 macOS 11 Big Sur初体验, 升还是不升?
  11. 整数进制转换技巧以及相关算法题讲解(简洁易懂)
  12. [第四篇] PostGIS:“我让PG更完美”
  13. 计算机安全泄露,哪些原因导致计算机信息泄露
  14. 【图片服务】深入分析阿里云中图片服务的架构经验
  15. Python基础 Zero to Hero面向对象编程(一)
  16. 【智能制造】歌尔股份打造面向可重构和微服务的可穿戴产品智慧工厂
  17. 代理记账的基本流程是什么
  18. 微信小程序 如何实现列表
  19. 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署
  20. CSS、CSS3选择器

热门文章

  1. C++ 笔记(34)— C++ exit 函数
  2. 利用牛顿法求平方根-Go语言实现
  3. 通过聚合数据API获取微信精选文章
  4. Redis 使用技巧
  5. 卷积神经网络之卷积计算、作用与思想 深度学习
  6. 时间统计%time和%timeit_python
  7. 【图论】有向无环图的拓扑排序
  8. 你了解计算机系统的层次结构吗?计算机语言怎么发展的?
  9. TensorFlow分布式(多GPU和多服务器)详解
  10. 深度学习到底有哪些卷积?