最近opencv3.4.1发布了,想换个新的试试鲜,于是把配置的过程通过博文的方式记录下来,方便查阅。
本教程原为3.3.0,但经过博主亲测,3.4.0、3.4.1皆适用

1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。
下载链接http://opencv.org/releases.html,选择sources版本

2.解压下载下来的zip包

unzip opencv-3.4.1.zip
  • 1

3.进入到解压后的文件包中

4.安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

sudo apt-get install cmake  
  • 1
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  
  • 1

5.安装完cmake之后执行命令 ,创建编译文件夹,不创建的会提示(如下图)
In-source builds are not allowed.

mkdir my_build_dir
cd my_build_dir
  • 1
  • 2

6.cmake一下

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  • 1

注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可

期间可能会下载一个东西,等待一会儿就OK

7.执行命令,漫长的编译过程

sudo make
  • 1

8.执行命令

sudo make install
  • 1

9.sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

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

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib  
  • 1

10.执行如下命令使得刚才的配置路径生效

sudo ldconfig  
  • 1

这个时候可能会提示错误如下图所示(上部分)

sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
出现这个错误可能是由于系统BUG所致

只需要分别输入上面图下部分的四行命令就可解决
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

11.配置bash

sudo gedit /etc/bash.bashrc  
  • 1

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH  
  • 1
  • 2

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

source /etc/bash.bashrc  
  • 1

更新

sudo updatedb  
  • 1

12.至此所有的配置都已经完成
下面用一个小程序测试一下

找到
cd到opencv-3.4.0/smaples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行

cmake .
make
./opencv_example
  • 1
  • 2
  • 3

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

ubuntu安裝opencv3.4.1相关推荐

  1. Ubuntu 安裝 GNU Global(gtags) 阅读Linux内核源码

    CSDN GitHub Ubuntu 安裝 GNU Global(gtags) 阅读Linux内核源码 AderXCoding/system/tools/global 本作品采用知识共享署名-非商业性 ...

  2. UBuntu安裝使用PIP

    Windows下安裝python包還是比較方便的,直接在FLD網站下載對應的EXE文件就可以安裝,在linux系統下,使用pip,easy egg 管理工具可以減輕安裝負擔. 原文鏈接:http:// ...

  3. [Ubuntu]安裝搜狗輸入法

    本文介紹如何在Ubuntu系統下安裝搜狗輸入法. 1.打開搜狗輸入法的下載頁面: http://pinyin.sogou.com/linux/ 2.下載對應的安裝包,本文使用的是64位系統,所以選擇了 ...

  4. Ubuntu 安裝思源字體

    主要参考这个 http://ingramchen.io/blog/2014/07/ubuntu-noto-font.html 修正文章中无效的字体名称设置. 首先下载谷歌的思源黑体,思源黑体主页: h ...

  5. ubuntu 安裝 jdk 6 遇到的問題

    1.首先想在 usr 文件夾 新建但鍵不了.智能 用 daiwang@daiwang-virtual-machine:/usr/lib$ sudo mkdir java [sudo] daiwang ...

  6. ubuntu 安裝deb_.deb文件如何安装,Ubuntu下deb安装方法图文详解

    deb包是Debian,Ubuntu等Linux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包,Debian,Ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较 ...

  7. ubuntu 安裝deb_解决无法在Ubuntu 20.04上安装Deb文件的问题

    导读 双击.deb 文件后无法通过 Ubuntu 20.04 的软件中心安装?你不是唯一遇到此问题的人.本教程展示了解决方法. 双击.deb 文件后无法通过 Ubuntu 20.04 的软件中心安装? ...

  8. Linux for Ubuntu 安裝CrossOver

    1..deban方式 终端安装  使用终端,开启 32-bit 包支持: sudo dpkg –add-architecture i386 sudo apt-get update 安装 gdebi 包 ...

  9. easyuefi添加linux分区,linux學習筆記(一)——使用easyBCD或easyUEFI引導從硬盤安裝Ubuntu系統...

    Table of Contents windows系統安裝ubuntu會出現引導問題,windows系統不希望有其他系統和windows系統共存.所以我們得自己作一個引導.接下來主要介紹兩種引導,ea ...

最新文章

  1. 同盾反欺诈云防垃圾灌水帖体验分享
  2. Hyper-v Server虚拟光纤通道
  3. EndNote(二)之英文引文导入方式
  4. 亿级流量电商详情页系统实战:缓存架构+高可用服务架构+微服务架构
  5. ant编辑java忽略注释_java – Ant警告:隐式编译的文件不受注释处理
  6. 导入jar包到Maven本地仓库(maven install jar)
  7. 几个有用的ASP Function
  8. dfinity什么时候发币_区块链3.0的Dfinity揭秘
  9. 战术网络安全检查表 | Symantec Connect
  10. 2Sigma OA prepare: Longest Chain
  11. 注入器 过检测_福特全顺V348检测车报价
  12. 搭建DNS域名解析服务器
  13. Java项目权威排名:Nacos未上版,gradle排名第二,Maven排名28
  14. JAVA遇上HTML-----JSP 篇基本概念
  15. php旧物交易开源代码_仿互站PHP源码 虚拟物品在线交易网站源码 附14套风格
  16. 智能水表营收管理系统
  17. algorithm negotiation fail错误
  18. vulkan1 (学习笔记)
  19. seo需要注意哪些细节
  20. 幽默感七个技巧_如何提高幽默感

热门文章

  1. patience counts
  2. 我建议您还是不要尝试和外国人讨论文学了,您干不过的。。。还是跟他们拼数学,逻辑,编程比较合适
  3. r shiny内部支持的输入函数
  4. 如果你不喜欢让大人说你祝酒祝福
  5. U3D 文档 GPU INSTANCING
  6. U3D 代码自动化生成定制预置体的旋转问题
  7. net.sf包JSONArray与JSONObject遍历
  8. ajax callback 在什么时候运行
  9. 15年IT研发老兵的困惑,生存与生活的状态
  10. IBM公司扩展云平台 计划推出SmartCloud