http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html

Cmake的安装


OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。

ubuntu下安装cmake比较简单,

apt-get install cmake

如果觉得自带的版本不符合要求,可以下载安装包。

下载最新版的安装包:

http://www.cmake.org/cmake/resources/software.html

这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/

设置环境变量:

sudo gedit /home/emouse/.bashrc

在打开的文件后添加:

export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin

查看版本,测试是否安装成功:

root@emouse:/home# cmake --version
cmake version 2.8.10.2

Ubuntu 下安装 OpenCV


软件环境:

Ubuntu 12.04

OpenCV 2.4.3

Cmake 2.8.10.1

gcc 4.6.3 (系统默认)

1、先安装 libgtk2.0-dev 和 pkg-config,,否则后期编译运行程序会出现类似如下的问题:

OpenCV
Error: Unspecified error (The function is not implemented. Rebuild the
library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu
or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or
configure script) in cvNamedWindow, file
/usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'

通过网络获取安装:

# apt-get install libgtk2.0-dev
# apt-get install pkg-config

2、下载OpenCV ,文件名:OpenCV-2.4.3.tar.bz2,下载地址:

http://www.opencv.org.cn/index.php/Download

解压:

#tar jxvf OpenCV-2.4.3.tar.bz2

得到文件夹 OpenCV-2.4.3

这里新建一个文件夹OpenCV-x86作为PC编译目录。

3、#cmake-gui 打开cmake的gui界面,开始进行配置。

cmake主要用于进行一些配置设定,从而生成用于编译安装的makefile文件,通过界面进行参数的配置和设定,非常直观、方便。在配置中指定源码和编译目录以及生成方式。

按照下图的步骤进行配置:

点击Finish后cmake即载入默认配置,如下图所示:

如图所示,窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的,如

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/OpenCV

只是这里通过图形界面的方式来进行配置,更加直观方便。

这里指对一个地方进行修改,CMAKE_BUILD_TYPE
值输入RELEASE,其他保持不变,图中蓝色虚线部分显示了默认的安装目录,生成makefile文件最后执行 make
install时就会安装到这个目录,这里可以根据个人需求更改。在这里的配置中我勾选了WITH_QT
去掉了WITH_TIFF,其他更多的配置也不清楚,OpenCV中文网站也没找到系统的说明,这里暂时不深究,点击Generate生成配置文件。

进入OpenCV-x86目录可以查看Makefile文件,可以留意文件的生成时间是否和刚才的生成时间一致。

4、接下来在OpenCV-x86 分别执行make和make install即可完成编译安装。

5、安装完成后需要对系统相关环境变量进行配置:

sudo ldconfig

更改环境变量:

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

保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

例程测试


拷贝步骤2中解压的的/OpenCV-2.4.3/samples/c 将c文件夹拷贝出来,下面运行一下这里面的一个例程,初步体验下OpenCV。拷贝完成后进入这个文件夹:

chmod +x build_all.sh

./build_all.sh

这样就对例程目录下的源文件进行了编译,这里运行一个人脸检测的程序,下面摘录自本文参考资料3。

Some of the training data for object detection is stored in /usr/local/share/opencv/haarcascades. You need to tell OpenCV which training data to use. I will use one of the frontal face detectors available. Let’s find a face:

终端中运行:

到这里基本的就写完了,OpenCV我之前也没有任何基础,这里只是把平台配置起来跑通,后续的工作还有很多,欢迎各位参考。转载请注明http://emouse.cnblogs.com/

本文相关及推荐参考:

【1】http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/

【2】http://blog.csdn.net/jasonque/article/details/8267983

【3】http://www.rosoo.net/a/201203/15774.html

Linux 下编译安装OpenCV(zhuanzai)的更多相关文章

  1. Linux 下编译安装OpenCV【转】

    转自:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html OpenCV 2.2以后版本需要使用Cmake生成makefile文件 ...

  2. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  3. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  4. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  5. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  6. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  7. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  8. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  9. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

随机推荐

  1. 【Luogu】P2962灯Lights(折半搜索)

    题目链接 本意是想学高斯消元,然后一顿乱搞之后学到了一个神奇的搜索方式叫做折半搜索. qwq 就是我先dfs前二分之n个点,然后再dfs后二分之n个点. 然后我dfs后二分之n个点的时候判断一下第一次 ...

  2. kb-07专题线段树-02--单点修改,区间最值

    /* 区间单点该值,区间查询最大值: hdu-1754 */ #include<iostream> #include<cstdio> #include<cstring&g ...

  3. Git的使用小结

    1. git是一种分布式版本控制工具.目前项目中比较常见的版本控制器有SVN.CVS等,这些版本控制工具属于集中式版本控制器.集中式版本控制器,有一个中央服务器,开发人员的开发机从主服务器上下载了项目 ...

  4. bzoj 5056: OI游戏 最短路树的计数

    OI游戏 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 196  Solved: 159[Submit][Status][Discuss] Descrip ...

  5. 【Hihocoder1636】Pangu and Stones(区间DP)

    题意:N堆石子,每次可以合并连续的长度从L到R的若干堆石子为1堆,费用为选择的石子总个数,求将N堆合并成1堆的最小总花费,无解输出0 思路:dp[i][j][k]表示将i到j这段区间合并为k堆的最小代 ...

  6. 如何应用r.js对requirejs下的js代码合并

    1.在根目录新建build.js ({ baseUrl:'js', paths:{ jquery:'static/jquery-1.10.2.min', underscore:'static/unde ...

  7. iframe平铺到浏览器

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. 禁用VMware的vmem文件

    新建一个虚拟机,VMWare会默认为其创建一个虚拟内存文件*.VMEM, 这个文件会影响系统的磁盘性能,所以最好关闭它. 该当是找到*.vmx文件,在文件最后加入一行 mainMem.useNamed ...

  9. Servlet 2.4 规范之第五篇:请求

    request对象封装了来自客户端的所有请求信息.在HTTP协议中,客户端发给服务端的所有信息都是通过request对象的请求头和请求体来传送的.           SRV.4.1    HTTP协 ...

  10. UVA 10635 Prince and Princess【LCS 问题转换为 LIS】

    题目链接: http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=19051 题意: 有两个长度分别为p+1和q+1的由1到n2 ...