Ubuntu下配置opencv3.1.0开发环境

1、最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享

2、步骤说明

一、安装OpenCV3.1.0

1.使用wget下载opencv源码

url : https://github.com/Itseez/opencv/archive/3.1.0.zip

sudo apt-get install wget sudo wget https://github.com/Itseez/opencv/archive/3.1.0.zip

2.解压ZIP源码文件

sudo apt-get install unzip
sudo unzip opencv-3.1.0.zip

3.进入源码目录,创建release目录

cd opencv-3.1.0
mkdir release

4.安装依赖库

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

5. 进入release目录,安装OpenCV时,所有的文件都会被放到这个release目录下

cd release


6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local/opencv3.1.0目录下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.1.0 .. 

注意一点:在cmake到92%的时候会出现一个错误,针对这个错误,我们把
/自己的定义路径/opencv-3.1.0/modules/cudalegacy/src下的 graphcuts.cpp中    #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) 

修改为:#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)即可,然后再次cmake即可。


7.安装

sudo make install -j8

 

二、配置pkg-config(可选)

1.创建pkgconfig目录

mkdir /usr/local/pkgconfig

2.拷贝opencv.pc文件到pkgconfig目录

cp /usr/local/opencv3.1.0/lib/pkgconfig/opencv.pc   /usr/local/pkgconfig/opencv3.1.0.pc

3.以管理员权限用vim打开bash

sudo vim ~/.bashrc

4.在文件最后一行添加环境变量

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

5.wq保存文件后,source文件(执行脚本)

source ~/.bashrc

6.测试pkgconfig

pkg-config --libs opencv3.1.0

三、配置lib环境变量
1、用vim打开/etc/ld.so.conf文件,添加上以下两行:
①/usr/loacal/
opencv-3.1.0/lib

②/root/opencv/opencv-3.1.0/release/lib

四、程序测试
在任意一个目录下创建test.cpp文件,用vi编写如下内容:
  1. #include <stdio.h>
  2. #include <opencv2/opencv.hpp>
  3. using namespace cv;
  4. int main(int argc, char** argv)
  5. {
  6. if(argc!= 2)
  7. {
  8. printf("usage:DisplayImage.out <Image_Path>\n");
  9. return -1;
  10. }
  11. Mat image;
  12. image= imread(argv[1], 1);
  13. if(!image.data)
  14. {
  15. printf("Noimage data\n");
  16. return -1;
  17. }
  18. namedWindow("DisplayImage",CV_WINDOW_AUTOSIZE);
  19. imshow("DisplayImage",image);
  20. waitKey(0);
  21. return 0;
  22. }

  23. 使用g++编译的时候使用命令:

    g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv`

  24. 五、其他

    参考博客:http://blog.csdn.net/c406495762/article/details/62896035

(4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤的更多相关文章

  1. 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境

    在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...

  2. 39 Ubuntu下配置python的vscode开发环境

    0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...

  3. 在linux ubuntu下搭建深度学习/机器学习开发环境

    一.安装Anaconda 1.下载 下载地址为:https://www.anaconda.com/download/#linux 2.安装anaconda,执行命令: bash ~/Downloads ...

  4. 在Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  5. Ubuntu下配置舒服的Python开发环境

    Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.0 ...

  6. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  7. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  8. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  9. 【转】在Ubuntu下建立Eclipse的Android开发环境

    本文将介绍如何建立Ubuntu下基于Eclipse的Android开发环境的方法. 大部分的Android开发者都是使用Eclipse来开发Android,本文将向各位介绍一下建立Ubuntu下基于E ...

随机推荐

  1. Http Handler 介绍

    引言 在 Part.1 Http请求处理流程 一文中,我们了解了Http请求的处理过程以及其它一些运作原理.我们知道Http管道中有两个可用接口,一个是IHttpHandler,一个是IHttpMod ...

  2. HDFS中NameNode发生故障没有备份从SecondNameNode恢复

    1.Secondary NameNode目录结构 Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照. 在/opt/module/hadoop ...

  3. C++调用C#类库函数

    最近做一个信息化三维仿真项目,基于第三方提供的虚拟引擎通过VC++2008做二次开发,其中涉及到与C#客户端的融合以及数据交互的问题, 主要是VC++需要调用C#客户端提供的类库内的接口获取C#客户端 ...

  4. C# DataSet转JSON

    经常会遇到系统数据交互采用JSON数据格式进行交互的,避免不必要的重复工作,记录下自己的处理方式. 获取数据集之后,通过函数对数据集信息进行整理通过.Net Framework3.5提出的JavaSc ...

  5. 单调栈 && 洛谷 P2866 [USACO06NOV]糟糕的一天Bad Hair Day(单调栈)

    传送门 这是一道典型的单调栈. 题意理解 先来理解一下题意(原文翻译得有点问题). 其实就是求对于序列中的每一个数i,求出i到它右边第一个大于i的数之间的数字个数c[i].最后求出和. 首先可以暴力求 ...

  6. Tornado 的核是什么??

    Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了一个高效的 I/O 事件循环,后 者则封装了 一个无阻塞的 socket .通过向 ioloop 中添加网络 I/O ...

  7. JEECG 深度使用培训班 周六周日公开课(一期班)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/25411023 广大技术爱好者:     ...

  8. websocket无法注入bean问题解决方案

    websocket服务端往往需要和服务层打交道,因此需要将服务层的一些bean注入到websocket实现类中使用,但是呢,websocket实现类虽然顶部加上了@Component注解,依然无法通过 ...

  9. Vue Cli3 TypeScript 搭建工程

    Vue Cli3出来也一段时间了,我想尝试下Vue结合TypeScript搭建个工程,感受下Vue下用TS...网上有一篇讲的非常详细的教程  vue-cli3.0 搭建项目模版教程(ts+vuex+ ...

  10. 行人重识别(ReID) ——技术实现及应用场景

    导读 跨镜追踪(Person Re-Identification,简称 ReID)技术是现在计算机视觉研究的热门方向,主要解决跨摄像头跨场景下行人的识别与检索.该技术能够根据行人的穿着.体态.发型等信 ...