为了学习slam,在ubuntu16.04系统上安装opencv3.2.0以及对应的opencv_contrib3.2.0

安装过程


下载

Github上下载有的时候比较慢,我这里分享了OpenCV3.2.0+OpenCV_contrib3.2.0的下载链接(包括一些编译过程中需要下载的文件)

链接:Download 提取码:8jaw

安装opencv依赖库

$ sudo apt-get install build-essential

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev

$ sudo apt-get -install libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev 

事实上,OpenCV的依赖库很多,缺失某些项编译的时候会出错或者影响某些功能。OpenCV会在cmake的时候检查依赖项是否安装,如果出错,按照提示安装依赖项即可。

解压opencv-3.2.0文件

$ unzip opencv-3.2.0.zip     //我这里当前文件路径为 /Downloads

解压opencv_contrib-3.2.0.tar.gz

$ tar -zxvf opencv_contrib-3.2.0.tar.gz -C ./opencv-3.2.0/

编译

$ cd opencv-3.2.0/
$ mkdir build
$ cd build $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/ai/downloads/opencv-3.2.0/opencv_contrib-3.2.0/modules/ -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF -D WITH_OPENMP=OFF -D ENABLE_PRECOMPILED_HEADERS=OFF ..

安装

$ sudo make -j8   //多线程
$ sudo make install

配置环境

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

# 在最后一行添加 /usr/local/lib

$ sudo gedit /etc/bash.bashrc

# 在最后一行中添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv320/lib/pkgconfig
export PKG_CONFIG_PATH $ sudo ldconfig $ sudo cp /usr/local/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig

最后安装成功

$ pkg-config --modversion opencv

遇到的问题


1. 下载ippicv_linux_20151201.tgz超时

解决方案:手动下载

如果终端下载过慢,或者出现超时。上面的下载包里有这个压缩文件,把这个压缩文件放入/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/夹中。(严格来说,是放入错误提示的文件路径)

2. 缺少gtk+-3.0

No package 'gtk+-3.0' found

解决方案:

$ sudo apt-get install libgtk-3-dev

3. 缺少依赖项

--   No package 'gstreamer-base-1.0' found

--   No package 'gstreamer-video-1.0' found

--   No package 'gstreamer-app-1.0' found

--   No package 'gstreamer-riff-1.0' found

--   No package 'gstreamer-pbutils-1.0' found

解决方案:

$ sudo apt-get install libgstreamer0.10-dev
$ sudo apt-get install libgstreamer-plugins-base0.10-dev
$ sudo apt-get install libgstreamer1.0-dev
$ sudo apt-get install libgstreamer-plugins-base1.0-dev $ sudo apt-get install libgstreamer1.0-dev
$ sudo apt-get install libgstreamer-plugins-base0.10-dev
$ sudo apt-get install libgstreamer0.10-dev
$ sudo apt-get install libgstreamer-plugins-base1.0-dev

如果下载这些依赖这些包的时候,出现无法定位软件包,应该是系统的源的有问题,可以换其他源,我后面改用阿里的源可以成功下载依赖项。

3. 缺少libavresample、libgphoto2包

--   No package 'libavresample' found

--   No package 'libgphoto2' found

解决方案:

$ sudo apt-get install libavresample-dev
$ sudo apt-get install libgphoto2-dev

4. 缺少libavresample包

--   No package 'libavresample' found

解决方案:

$ sudo apt-get install libavresample-dev
$ sudo apt-get install libgphoto2-dev

5. 找不到OpenBLAS include

-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off

解决方案:

$ sudo apt-get install libopenblas-dev

6. 找不到Doxygen include

-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

解决方案:

$ sudo apt-get install doxygen

7. 找不到JNI

-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)

解决方案:

详见参考[1]

8. make的时候缺失opencv_lapack.h

解决方案:

$ sudo apt-get install liblapacke-dev checkinstall

9.提示no package opencv found

pkg-config --modversion opencv 的时候提示找不到opencv包

解决方案:

配置环境时缺少了一行代码:

$ sudo cp /usr/local/opencv320/lib/pkgconfig/opencv.pc /usr/lib/pkgconfig

10.出现Makefile:160: recipe for target 'all' failed

解决方案:

opencv_contrib的路径有问题,在编译时候最好指定opencv_contrib的文件路径,否则会在make的时候出现makefile找不到的问题。

参考

[1] https://blog.csdn.net/weixin_41896508/article/details/80795239

[2] https://blog.csdn.net/qq_29229045/article/details/78527391

Ubuntu16.04+OpenCV3.2.0+Opencv_Contrib3.2.0安装的更多相关文章

  1. [环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题

    1.OpenCV-3.2.0+OpenCV_contrib-3.2.0编译安装过程 1)下载官方要求的依赖包 GCC 4.4.x or later CMake 2.6 or higher Git GT ...

  2. ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14

    ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...

  3. opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置

    在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...

  4. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  5. Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译

    系统:Ubuntu16.04.02(优麒麟) 安装库文件和JDK 使用cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件 “install-sun-ja ...

  6. mac10.12.6系统使用cmake安装opencv3.3.0+opencv_contrib-3.3.0

    brew与cmake brew安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ins ...

  7. 达尔稳usb转RJ45的接口转换器(usb2.0接口)在ubuntu16.04中驱动(r8152)编译安装与使用

    淘宝买了usb转RJ45的接口转换器:https://detail.tmall.com/item.htm?id=524808012954&ali_refid=a3_430582_1006:11 ...

  8. Ubuntu16.04+Opencv3.3的安装教程

    需要准备的基本材料(请先看完整个安装过程再进行下面的操作): 一.到Opecv-Release的Github项目上下载最新的Opencv版本,注意---基于python2.7,可选用 OpenCV2. ...

  9. Ubuntu16.04多个版本GCC编译器的安装和切换

    这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本太高等问题,由此我打算安装其他老的版本给我的Ubuntu16.04.实验过程如下: 官网的教程是最牛逼的,先 ...

随机推荐

  1. 杂项-Java:Shiro(Java安全架构)

    ylbtech-杂项-Java:Shiro(Java安全架构) Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,您可以 ...

  2. 对python变量的理解

    #!/usr/bin/python class Person: '''some words content or descriptions!''' name='luomingchuan' _age = ...

  3. HIT Software Construction Lab 2

    2019年春季学期 计算机学院<软件构造>课程 Lab 2实验报告 姓名 刘帅 学号 班号 1703008 电子邮件 1609192321@qq.com 手机号码 目录   1 实验目标概 ...

  4. 39.Qt XML

    1.使用QXmlStreamReader读取XML,可以读取内存中容纳不了的特大文件,或者读取在XML文档中定制的文档的内容. xml文件(in1.xml) <?xml version=&quo ...

  5. FLAG_DISMISS_KEYGUARD & FLAG_SHOW_WHEN_LOCKED

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD): 这一个标志的意思是去掉锁屏界面,但这对安全锁(图案或者密 ...

  6. node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. Mongoose是在node.js ...

  7. MarkDown 语法备份

    标题 标题1 标题2 标题3 标题4 标题5 无序列表 飞雪连天射白鹿 书神侠倚碧鸳 有序列表 飞雪连天射白鹿 笑书神侠倚碧鸳 超链接 百度 图片 粗体和斜体 粗体 斜体 表格 左对齐标题 右对齐标题 ...

  8. 维基百科 MediaWiki API 解析

    使用开放的 API 做一个自己的小项目,是一个很好的学习方法.但好像开放的 API 选择并不多.这里给大家多一个选择,简单介绍一下维基百科使用的 MediaWiki API. 简介 先简单介绍几个容易 ...

  9. 【工作细节记录】维护项目中前端JS组件丢失后,应如何维护开发之启发

    事因: 我所维护的项目为旧项目,接手项目后并没有什么开发文档留下,导致很多时候一出现问题就需要自己去研究整个过程. 项目中一直使用一个"$.download()"的方法进行文件下载 ...

  10. MyEclipse如何设置自动提示?

    MyEclipse --> Preferences --> Java --> Editor --> Content Assist --> Enable auto acti ...