在FEDORA 14下安装OPENCV

  • 格式:pdf
  • 大小:90.31 KB
  • 文档页数:3

将要使用的版本opencv版本:
2.3.1a
计算机环境:Fedora14,Gcc4.5.1,cmake2.8.4。为了显示界面,貌似还需
要gtk2-devel。如果需要进行视频处理,还需要安装ffmpeg-devel。否则基本无
法读取视频。如果要处理图片,还需要安装相应的库:openjpeg-devel和
libpng-devel

默认情况下,fedora并没有安装这些库,所以需要先安装它们。

1
2
$su

#yuminstallcmakegtk2-develffmpeg-developenjpeg-devellibpng-devel-y
在安装完前置条件之后,现在开始安装opencv(下载地址).
下载完之后进行解压,并假设解压路径为OPENCV_ROOT。在
$OPENCV_ROOT里创建release文件夹,用于存放编译后的文件。

1

2
3

$tarxvfOpenCV-2.3.1a.tar.bz2
$cdOpenCV-2.3.1a.tar.bz2
$mkdirrelease
接着可以在release文件夹里创建
Makefile
1
2

$cdrelease

$cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local-D
BUILD_PYTHON_SUPPORT=ON..

其中选项BUILD_PYTHON_SUPPORT=ON表示添加Python支持。而每个选
项前要添加-D参数。opencv还可以添加CUDA和TBB支持。想要在编译中添
加相应的支持。只需添加编译选项-DWITH_CUDA=ON或-D
WITH_TBB=ON。
默认情况下,只要安装了CUDA4.0版本,opencv就会自动添加CUDA支持。
但出于种种原因而不想添加CUDA支持,只需添加编译选项-D
WITH_CUDA=OFF即可。
生成Makefile之后就可以开始编译。
1
2
3

$make-j4
$su
#makeinstall
其中make-j4表示启用4个核进行编译。如果你的计算机是双核的,则应该使
用-j2.
安装完之后,需要设置库路径。
1

2
$su

#vi/etc/ld.so.conf.d/opencv.conf
输入/usr/local/lib,并保存退出。或者可以在/etc/profile中添加环境变量
1
2
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

exportLD_LIBRARY_PATH
添加完库路径之后,还需要添加环境变量。
1

2
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

exportPKG_CONFIG_PATH
然后更新库缓存和环境变量。
1

2
#ldconfig

$source/etc/profile
测试安装是否成功
1

2
$cd$OPENCV_ROOT/samples/c

$shbuild_all.sh
编译好之后直接试运行
1
$./facedetect
--cascade="/usr/local/share/$OPENCV/haarcascades/haarcascade_frontalfac
e_alt.xml"--scale=1.5lena.jpg

其中$OPENCV表示解压缩后的文件夹名字,默认为OpenCV-2.3.1a.
若安装成功,应该会看到输出一副人脸检测的图片。
注意:
在实际编程中,如果需要用到opencv的头文件,比如说cv.h,则应该写为
1
#include

你可以在/usr/local/include文件夹中发现有opencv和opencv2这两个文件夹。
而Linux下头文件搜索路径只包含一级目录。所以需要手动加上文件夹名字
opencv/cv.h,否则编译时会提示没有找到cv.h
文件。如果不想每次都加

opencv/,则可以将opencv/中的所有文件链接到/usr/local/include
中。

1
#ln-s/usr/local/include/opencv/*/usr/local/include/

或者在编译选项中显示说明
1
$gccXXX.cpp`pkg-config--cflagsopencv`-oXXX

同样,动态链接库也会遇到找不到的问题。比如会出现
/usr/local/include/opencv2/core/mat.hpp:297:undefinedreferenceto
`cv::fastFree(void*)’
这样的字眼。这个时候需要把动态链接库的路径加到编译选项中。

1
$g++`pkg-config--cflags--libsopencv`XXX.c-oXXX

参考资料
[1]http://www.opencv.org.cn/forum/viewtopic.php?t=14610
[2]http://opencv.willowgarage.com/wiki/InstallGuide_Linux