Linux 下编译安装OpenCV(zhuanzai)
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/
Linux 下编译安装OpenCV(zhuanzai)的更多相关文章
- Linux 下编译安装OpenCV【转】
转自:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html OpenCV 2.2以后版本需要使用Cmake生成makefile文件 ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- Linux下编译安装Apache Http Server
Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...
- Linux下编译安装qemu和libvirt
目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 ...
- linux下编译安装nginx
1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf ...
- Linux下编译安装qemu和libvirt【转】
转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...
随机推荐
- NOJ——1658平方和(自然数平方和公式和取模法则)
[1658] 平方和 时间限制: 1000 ms 内存限制: 65535 K 问题描述 给你两个数n和m,求从6开始到6*n的等差数列(差值为6)的每一项的平方的和除6模m的值 (例如n=2,m=3, ...
- setsockopt等高级使用
参考: setsockopt函数使用http://hi.baidu.com/yelangdefendou/item/74161d0f384abd3c4ac4a316http://blog.csdn.n ...
- bzoj 2803 [POI2012]prefixuffix hsh+性质
题目大意 bzoj 2803 对于两个串S1.S2,如果能够将S1的一个后缀移动到开头后变成S2,就称S1和S2循环相同.例如串ababba和串abbaab是循环相同的. 给出一个长度为n的串S,求满 ...
- 我要好offer之 系统基础大总结
1. APUE Unix环境高级编程 (1) Unix基础知识: 内核->系统调用->shell和库函数->应用软件 (2) 文件I/O:read函数返回值.进程的文件描述符表.文件 ...
- FZOJ Problem 2107 Hua Rong Dao
...
- Nginx报504 gateway timeout错误的解决方法
转载文章来源:http://www.111cn.net/sys/nginx/90669.htm(若侵删) Nginx报504 gateway timeout错误引起,一个是文件配置问题,另一个是相关处 ...
- node--http小爬虫&事件模块
//http小爬虫 var http=require('http') var cheerio=require('cheerio') var url='http://www.imooc.com/lear ...
- 【MFC】 点击不同的按钮后在界面同一位置显示不同的对话框内容(转)
原文转自 http://bbs.csdn.net/topics/391039432 如图类似Tab控件的功能 但Tab控件按钮是固定的上下左右 不方便 所以想自己重新做个这种 我M ...
- 首次远程安装 GlassFish 后以远程 Web 方式访问其后台管理系统出现错误的解决方法(修订)
首次远程安装 GlassFish 服务后,如果以远程 Web 方式访问其后台管理系统,会提示 Secure Admin must be enabled to access the DAS remote ...
- AC日记——乘积最大 洛谷 P1018
题目描述 今年是国际数学联盟确定的“2000――世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得 ...