操作系统 Ubuntu12.04LTS(32bit)
OpenCV 2.4.3
步骤1:进这个网站http://sourceforge.net/projects/opencvlibrary点击绿色的Download按钮下载最新版本的OpenCV 我下的是OpenCV-2.4.3.tar.bz
(顺便提一句,这个OpenCV网站统计下载量最多的Top Country 竟然是 China)
步骤2:下好后,将压缩包手动解压 (可以右键解压,也可以用命令 tar zxvf OpenCV-2.4.3.tar.bz2解压到当前目录)
步骤3:下载cmake (终端运行sudo apt-get install cmake)
步骤4:安装cmake-qt-gui (终端运行sudo apt-get install cmake-qt-gui)
步骤5:利用工具cmake将OpenCV安装到ubuntu系统文件夹中
(1)进入解压后的OpenCV文件夹(命令 cd OpenCV-2.4.3)
(2)新建一个文件夹“OpenCV-build”来保存OpenCV编译后的文件 (命令 mkdir OpenCV-build )
(3)终端运行 cmake-gui 打开cmake的图形界面
点击Browse Source添加路径 (路径是你的OpenCV 文件夹所在的路径 我的是OpenCV-2.4.3)
点击Browse Build 添加路径(路径就是你刚才新建的文件夹的路径OpenCV-build)
(4)点击2下Configure 就会发现Generate按钮不再是灰色 再点击 Generate
步骤6 :终端cd到 OpenCV-build 目录下 执行make 命令 权限不够就sudo make (这个时候要耐心点,要等很久才能100%)
步骤7:完成后仍在这个目录下 执行命令 sudo make install
(即将OpenCV build好的文件 安装到系统目录/usr/local下)
步骤8:另外还要更新一下动态链接库
输入命令:sudo gedit /etc/ld.so.conf
里面一般有一行 include /etc/ld.so.conf.d/*.conf
再后面加分号 回车 添加一行 /usr/local/lib 保存退出后执行命令 sudo ldconfig 即可
测试文件:创建一个HelloOpenCV.cpp
#include
#include
int main()
{
IplImage* image = cvLoadImage("install.png");/*同一文件夹下找一个图片测试一下*/
cvNamedWindow("Hello_OpenCV", CV_WINDOW_AUTOSIZE);
cvShowImage("Hello_OpenCV", image);
cvWaitKey(0);//等待用户按键
cvReleaseImage(&image);
cvDestroyWindow("Hello_OpenCV");
return 0;
}
编译:gccHelloOpenCV.cpp `pkg-config --cflags --libs opencv` -o HelloOpenCV
运行: ./ HelloOpenCV如果能弹出一个窗口并显示你的图片的话 那么恭喜你 你的OpenCV配置成功了!
推荐网站:http://www.opencv.org.cn/index.php/Template:Code
至此OpenCV安装完毕 ,下面说一下常出现的一些问题
问题1:gcc `pkg-config --cflags --libs opencv` -o HelloOpenCV HelloOpenCV.cpp 命令无效
解决1:我当时也是这个毛病,将HelloOpenCV.cpp 的顺序调整一下 放在 gcc命令 之后 即可 另外 `pkg-config --cflags --libs opencv`一定要加上 否则编译失败 ;注意一定不是单引号 而是键盘上Esc 下面能打出~(中文输入法)的那个建 英文输入法即是 ` 符号
问题2:HelloOpenCV.cpp文件编译失败 ,错误提示 cvNamedWindow等等一大堆函数不认识
解决2:通常是因为缺少依赖包的原因
安装libgtk2.0-dev 和 pkg-config
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
然后重新从步骤5开始弄 初次make之后再make就快了
如果不能安装尝试着更新一下 ubuntu 版本 (命令 sudo apt-get install upgrade)再安装上面的2个包
问题3:在网站里跑了几个OpenCV 的例程后 发现“鼠标绘图"那一个例程在编译的时候出现如下错误:
“CV_INPAINT_TELEA”: 未声明的标识符
“cvInpaint”: 找不到标识符
解决3:
原因是cvInpaint()函数的头文件为photo_c.h 和 photo.hpp ;而cv.h没有include这两个文件
解决办法如下:以管理员权限进入/usr/local/include/opencv/cv.h
命令(sudo gedit /usr/local/include/opencv/cv.h)
加入如下2行代码
#include "opencv2/photo/photo_c.h"
#include "opencv2/photo/photo.hpp"
保存退出
再次编译即可通过
windows下原理一样,把 photo_c.h和photo.hpp这两个文件包含进 cv.h中即可
最后大家闲的无聊可以支持一下我的点点和豆瓣 ,呵呵
点点:http://www.diandian.com/dianlog/messiandzcy
豆瓣:http://www.douban.com/people/zhangchengyu/