我的操作系统是Ubuntu 10.04
OpenCV版本:OpenCV-2.2.0
上文说到opencv-linux环境搭建方法,这里总结一下:
具体步骤如下:
1.首先在http://www.opencv.org.cn/download/OpenCV-2.2.0.tar.bz2下载opencv-linux安装包OpenCV-2.2.0.tar.bz2
2.安装cmake
终端运行:sudo apt-get install cmake
3.安装cmake-qt-gui,一个cmake的图形界面
终端运行: sudo apt-get install cmake-qt-gui
4.编译安装opencv
(1)cmake-qt-gui安装好之后,在终端运行cmake-gui,打开cmake的图形界面。
首先,将下载的OpenCV-2.2.0.tar.bz2解压,比如解压到文件夹OpenCV-2.2.0。
然后,新建一个文件夹比如叫作OpenCV-build,作为cmke build 到的目录。
点击cmake-gui窗口的Browse Source 选择OpenCV-2.2.0, Browse Build 选择OpenCV-build。
发现窗口变红,按提示做就是了,点Configure(需做两遍),然后Generate。
注意:点击Configure后可能会出现错误提示“error in configuration process, project files may be invalid”,那是因为缺少来相关依赖的包,如libgtk2.0-dev,用以下命令安装即可:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev
(2)打开终端,cd到OpenCV-build目录下,运行
——————————————————————————————————————make
要等比较长的时间。
完成之后
sudo make install
完成后openCV被安装到usr/local/下。
至此openCV 安装完毕。
【第一个程序HelloOpenCV】
#include <highgui.h>
#include <cxcore.h>
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;
}
【终端进入源代码目录】
输入编译命令:gcc `pkg-config --cflags --libs opencv` -o HelloOpenCV HelloOpenCV.cpp
输入运行命令:./HelloOpenCV
【编译运行错误汇总】
1、执行HelloOpenCV时报错:./HelloOpenCV: error while loading shared libraries: libopencv_core.so.2.2: cannot open shared object file: No such file or directory。
这是因为没有装ffmpeg,输入sudo -apt-get install ffmpeg安装,安装成功之后再执行facedectect即可。
还有可能是系统路径未指定:
方法1):export LD_LIBRARY_PATH=/usr/local/lib 只是对于当前session有效,退出终端又会出错
方法2):设置opencv lib环境变量
配置库路径,加入环境变量
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
添加opencv库的安装路径:
/usr/local/lib
$ sudo ldconfig
$ sudo gedit /etc/bash.bashrc
添加PKG_CONFIG_PATH变量:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
2、类似这样的错误:
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 cvShowImage, file /media/myprogram/OpenCV_2_3_src/modules/highgui/src/window.cpp, line 293
terminate called after throwing an instance of 'cv::Exception'
what(): /media/myprogram/OpenCV_2_3_src/modules/highgui/src/window.cpp:293: error: (-2) 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 function cvShowImage
安装libgtk2.0-dev和pkg-config
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
装好之后上述安装步骤第4步重新来一遍就OK啦。
程序正常运行,搞定!:)