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

最新文章

  1. Swift中的可选链与内存管理(干货系列)
  2. Windows和linux的文件共享(1)
  3. 转 : c++ 结构体 前向声明
  4. Perl文件读写
  5. Javaweb学习笔记--分层设计
  6. 【POJ2266】【树状数组+离散化】Ultra-QuickSort
  7. WindowsService服务程序开发
  8. IE8下提示&#39;console&#39;未定义错误
  9. java基础(10) -线程
  10. Linux ipip隧道及实现
  11. android技术晋升之道
  12. 数据库分库分表(sharding)系列
  13. Docker: dockerfile常用关键字
  14. Elasticsearch常用配置及性能参数[转]
  15. Windows 窗体中的事件顺序
  16. java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
  17. jieba分词学习
  18. shell中的重定向(输入输出)
  19. nodejs 剪切图像在上传,并保存到指定路径下(./public/img/&#39; + req.session.token + &#39;.jpg‘)
  20. kafka系列文章索引(结束)

热门文章

  1. 最长k可重线段集问题【费用流】【优先队列Dijkstra费用流】
  2. [c#]Extesion method
  3. MySQL-第十四篇事务管理
  4. package.json说明
  5. JS—图片压缩上传(单张)
  6. 微信JS-SDK选择图片遇到的坑
  7. poj_3179 Corral the Cows (二分+二维前缀和+离散化)
  8. JavaScriptDOM对象和jQuery对象的互相转换
  9. 行人重识别(ReID) ——基于深度学习的行人重识别研究综述
  10. css文档之盒模型阅读笔记