Ubuntu16.04+OpenCV3.2.0+Opencv_Contrib3.2.0安装
为了学习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安装的更多相关文章
- [环境配置]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 ...
- 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 ...
- opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置
在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...
- Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
- Ubuntu16.04下iTop4412环境搭建+Android4.0.3编译
系统:Ubuntu16.04.02(优麒麟) 安装库文件和JDK 使用cd 命令,进入解压出来的“Android_JDK” -->“jdk6”文件夹,运行脚本文件 “install-sun-ja ...
- 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 ...
- 达尔稳usb转RJ45的接口转换器(usb2.0接口)在ubuntu16.04中驱动(r8152)编译安装与使用
淘宝买了usb转RJ45的接口转换器:https://detail.tmall.com/item.htm?id=524808012954&ali_refid=a3_430582_1006:11 ...
- Ubuntu16.04+Opencv3.3的安装教程
需要准备的基本材料(请先看完整个安装过程再进行下面的操作): 一.到Opecv-Release的Github项目上下载最新的Opencv版本,注意---基于python2.7,可选用 OpenCV2. ...
- Ubuntu16.04多个版本GCC编译器的安装和切换
这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本太高等问题,由此我打算安装其他老的版本给我的Ubuntu16.04.实验过程如下: 官网的教程是最牛逼的,先 ...
随机推荐
- hdoj--1276--士兵队列训练问题(数组模拟)
士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- [JavaEE]Hibernate 所有缓存机制详解
Hibernate提供的一级缓存 hibernate是一个线程对应一个session,一个线程可以看成一个用户.也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和 ...
- windows2003安装
产品密钥JCDPY-8M2V9-BR862-KH9XB-HJ3HMiis的i386文件夹http://pan.baidu.com/s/1dD0EY6twindows2003的iso映像http://p ...
- ChildViewController
View Controller中可以添加多个sub view,在需要的时候显示出来: 可以通过viewController(parent)中可以添加多个child viewController;来控制 ...
- ROS-参数
前言:参数的用法. 一.参数常用命令 命令 功能 rosparam list 参数列表 rosparam get 获取参数 rosparam set 设置参数 rosparam load 加载参数 ...
- ROS-多机通信
前言:一定要在同一路由的局域网下进行,就是两台电脑的ip要像这样:192.168.191.4和192.168.191.8,只有最后一位不同,这样就能ping通了,否则ping不同. 一.查看ip和主机 ...
- Centos7 minimal 系列之rabbitmq的理解(九)
一.前言 传送门:rabbitmq安装 第一次接触消息队列,有很多不熟悉的地方,可能也有很多写的不对的,大家一起学习. RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统. 使用场景: ...
- golang下使用ini配置文件(widuu/goini)
在“widuu/goini”基础上进行了修改,增加了其他数据类型配置值(string.int.int32.int64.[]int.[]string)的支持. 使用方法: ConfigCentor := ...
- 更博不能忘——webpack学习笔记
webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不 ...
- SpringMVC(六)POJO类作为 @RequestMapping方法的参数
Command or form objects to bind request parameters to bean properties (via setters) or directly to f ...