OpenCV 在ubuntu下环境配置

最近要学习OpenCV,看了网上的好多教程,各种方法都有,配了好久才搞定,决定综合一下教程和常见问题分享下~

操作系统 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/












你可能感兴趣的:(学习)