1. 首先下载相应的opencv版本
http://sourceforge.net/projects/opencvlibrary/files/
或者直接使用命令获取安装包:wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2/download
我选择的是ubuntu的2.2版本
2. 解压缩包
$ tar xvfs OpenCV-2.2.0.tar.bz2
3. 打开opencv目录,创建release文件夹
$ cd OpenCV-2.2.0
$ mkdir release
4. 预装软件
$ sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev
5. 打开release目录,正式编译opencv
$ cd realse
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..
安装好的lib文件都会放到/uer/local目录中。
注意:cmake命令后面必须有'..',不然会报错,也可以看一下cmake命令
6. 编译安装opencv
$ make
$ sudo make install
7. 完成opencv的配置
$ sudo vim /etc/ld.so.conf.d/opencv.conf
再次新文件中添加:/usr/local/lib,保存并此文件
$ sudo ldconfig #使用此命令更新配置文件,使之生效可用
在/etc/bash.bashrc最后行添加以下环境变量
OpenCV_DIR=/home/canedy/OpenCV-2.2.0/
export OpenCV_DIR
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
关闭shell终端、重启或注销系统使之生效,
8. 测试opencv是否可用
$ pkg-config --libs --cflags opencv
如果输出opencv的路径等信息,则opencv可用
注意:刚开始我使用opencv 2.4.7版本,但是在make时一直不成功,出现错误,在网上找了很多资料也没有搞定,最后换成2.2没有错误出现
可能出现的问题:
1. 在编译到39%左右,出现以下错误modules/core/include/opencv2/core/core.hpp:354:13: error: ‘ptrdiff_t’ does not name a type
解决办法:在源码中的modules/core/include/opencv2/core/core.hpp加入using std::ptrdiff_t;
2. 在编译到39%左右,出现以下错误modules/highgui/src/cap_ffmpeg.cpp:556:54: 错误: ‘avcodec_decode_video’在此作用域中尚未声明
解决办法:
点击(此处)折叠或打开
- cd ~
- wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz
- tar -xvzf ffmpeg-0.7-rc1.tar.gz
- cd ffmpeg-0.7-rc1
- ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared
- make
- sudo make install