【非常感谢:http://www.linuxdiyf.com/linux/18482.html】

1、依赖关系:

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

2、下载源码:

a.可以从opencv官网直接下载:http://opencv.org/downloads.html

b.也可以从github上clone:

cd ~/<my_working_directory>  //比如工作目录为opencv即,cd ~/opencv
git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git

3、编译(CMake Opencv源码):

建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。

cd ~/opencv
mkdir build  //建立一个build目录,把cmake的文件都放着里边
cd build   //进入build目录

然后开始cmake,这里需要注意几个cmake的参数,比较重要。

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..

我的:cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/ubuntu16041/ruanjian/opencv_contrib/modules/ ..】

注:命令中最后的"  .. "(空格+两个点)千万不要忘记

其中 CMAKE_BUILD_TYPE=Release / Debug

OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib模块的路径即可。

这里官方文档上还给出了其他一些参数,但是我没用过,这里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

4、把代码编译成可执行文件,这里官方推荐使用多进程编译,推荐七个进程:

make -j7 # 并行运行七个jobs,这一步也在build目录中进行

5、安装。

sudo make install

6、运行测试。

我是用python+opencv的,我这里直接运行opencv自带的python的例子程序

cd <opencv3.1.0_dir>/samples/python/
python asift.py

7、报错及解决:

(1)测试的时候不通过,显示:

加入环境变量:sudo gedit ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

(2)

报错:

ubuntu16041@ubuntu16041:~/ruanjian/opencv/samples/python$ python asift.py
Traceback (most recent call last):
File "asift.py", line 26, in <module>
import cv2
ImportError: /home/ubuntu16041/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/python2.7/site-packages/cv2.so)

解决:在终端直接输入命令: conda install libgcc

(3)查看opencv的版本:

(40最终的是

ubuntu16041,安装opencv3.1.0的更多相关文章

  1. 在CUDA8.0下编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0(网上有 ...

  2. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  3. 在CUDA8.0下指定位置编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)

    在CUDA8.0下指定位置编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0 ...

  4. centos 安装 opencv-3.1.0

    官方安装教程 http://docs.opencv.org/3.1.0/d9/d52/tutorial_java_dev_intro.html#gsc.tab=0 注意要先安装jdk和apache a ...

  5. OSX下编译安装opencv3.1.0与opencv_contrib_master

    OSX版本10.11.3 1.安装homebrew,打开终端,写入指令 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...

  6. Ubuntu16.04卸载opencv2.4.9并安装opencv3.2.0+contrib

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 需要用到opencv中的surf和sift算法,机器上只有opencv3.2,没有扩展包,于是 ...

  7. ubuntu16.04安装opencv3.4.0

    老实说这篇记录可能拖了有8个月了,早在去年6月份我应该是第一遍安装opencv.当时懒得记录,以为自己什么都能记得住.后来由于电脑各种原因,需要重装opencv,装的时候发现啥都记不住了.然后又得去找 ...

  8. Ubuntu16.04下安装OpenCV3.2.0

    1.安装官方给的opencv依赖包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0- ...

  9. [环境配置]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 ...

随机推荐

  1. magento的url中 去掉多余的目录层级

    有时我们需要仅仅显示一层目录的URL路径.而不要出现多个路径的现实,我们可以用以下方法修改: Edit  /app/code/core/Mage/Catalog/Model/Url.php 找到632 ...

  2. Logback日志系统配置攻略

    logback是log4j作者推出的新日志系统,原生支持slf4j通用日志api,允许平滑切换日志系统,并且对简化应用部署中日志处理的工作做了有益的封装. 官方地址为:http://logback.q ...

  3. struts2 数据校验

    通过struts2中延续自xwork框架的validation.xml配置方式进行数据校验,因struts2 下存在三种请求参数的注入方式,固按照不同注入方式对validation.xml的配置进行总 ...

  4. 基于redis排行榜的实战总结

    前言: 之前写过排行榜的设计和实现, 不同需求其背后的架构和设计模型也不一样. 平台差异, 有的立足于游戏平台, 为多个应用提供服务, 有的仅限于单个游戏.排名范围差异, 有的面向全局排名, 有的只做 ...

  5. CSS counter-reset 属性

    一.实例 对部分和子部分进行编号(比如 "Section 1"."1.1"."1.2")的方法: eg: css部分: ol { list- ...

  6. JS与Struts标签page

    <html> <html:link name="map"  page="/xxx/xxx/xxx_delete_do.do"         ...

  7. Hbase的flush机制

    Hbase Flush机制最小Flush单元为HRegion,尽量减少CF数量以减少HStrore数量从而减少MemStore的数量,最终减少每次Flush的开销.1.Region级别触发条件:   ...

  8. php 添加钩子实例

    <?php/*定义钩子函数*/function add($hook,$actionFunc){    global $emHooks;    if(isset($emHooks[$hook])) ...

  9. 【python】pandas & matplotlib 数据处理 绘制曲面图

    Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形 建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择pytho ...

  10. LeetCode() Merge Intervals 还是有问题,留待,脑袋疼。

    感觉有一点进步了,但是思路还是不够犀利. /** * Definition for an interval. * struct Interval { * int start; * int end; * ...