OpenCV1.0安装在Fedora9下
经过努力,成功地把OenCV1.0安装在Fedora9下。现记录全部过程如下:
从http://sourceforge.net/projects/opencvlibrary 下载OpenCV源码,下载文件为opencv-1.0.0.tar.gz
(我比较喜欢1.0版本,现在貌似已经更新到2.1版本了,不过感觉还是1.0版本使起来比较带劲,哈哈)。
1. 解压文件
tar zxvf opencv-1.0.0.tar.gz
cd opencv-1.0.0
2.记得修改/etc/ld.so.conf % k8 d9 ~6 B& k: z) |3 J
添加一行/usr/local/lib
l7 m, x7 }' o; N: D
# ldconfig (root用户)
我是在安装第一遍之后,重新设置这个的,貌似这样做会出现这样的问题:
ldconfig: /usr/local/lib/libcxcore.so.1 不是符号连接
ldconfig: /usr/local/lib/libml.so.1 不是符号连接
ldconfig: /usr/local/lib/libhighgui.so.1 不是符号连接
ldconfig: /usr/local/lib/libcvaux.so.1 不是符号连接
ldconfig: /usr/local/lib/libcv.so.1 不是符号连接
这里不用管,当然如果你是安装opencv之前就做了这一步的设置,那就不会出现这样的问题。
3.
congfigure的时候,输入./configure --without-python --enable-static
注释:在我的电脑上,如果没有第一个WITHOUT,MAKE的时候就会出错,无奈;
第二个是为了在编译程序的时候生成静态连接库文件(具体怎么生成我还没搞懂,新手。。。)/ A3 P: a# b6 @5 K6 R
q8 `, Y: ?+
a" r1 u) |
之后,出现的提示信息是:
./configure" b/ o7 X( U1 D( o" r
checking build system type... i686-pc-linux-gnu
checking
host system type... i686-pc-linux-gnu
checking target
system type... i686-pc-linux-gnu8 K2 W; j; |1 z' i
checking for a BSD-compatible install... /usr/bin/install -c
checking whether
build environment is sane... yes4 e- l3 o, \( e$ s% u" ~! `
checking for gawk... no/ B5 ?" {+ }1 g/ a; y8 G
... ...
General
configuration ==============& u" f: f) L& L1 F
& t. P,
V _6 e& n" K
Compiler: g++
9 X* n \7 K* f
CXXFLAGS: -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math
-fomit-frame-pointer
Install path:
/usr/local
HighGUI
configuration ==================
0 y; w- U2 W* u" I
Windowing system --------------( r. G8 e; D* @- V$ r. Z
Use Carbon / Mac OS X: no4 E) M( a9 W& Y1 q' g" K9 V. d+ u
Use gtk+ 2.x: yes$ |# V4 R6 J5 s% p: ~9 Z7 C8 f* \
Use gthread: yes3
n+ k' O6 _3 t3 x% x0 F2 m% u
Image
I/O ---------------------
Use libjpeg: yes
Use zlib:
yes
Use libpng: yes
Use libtiff:
yes
Use
libjasper: no
Use libIlmImf: no
Video I/O
---------------------
Use
QuickTime / Mac OS X: no
Use xine: no
Use ffmpeg: no
Use
dc1394 & raw1394: no
Use v4l:
yes
Use v4l2:
no
Wrappers
for other languages =============
SWIG
Python yes
N3 A$ T3 Z: u1 x
Additional build settings ============; r, U5 m, w. X' B- ^
Build demo apps
yes
Now
run make ...
m$ f# r5 A* F3 Z! C
4.
然后将/usr/local/lib/pkg-config中的opencv.pc
拷贝到/usr/lib/pkg-config中,(如果不做这步,根本编译不起)
可以采用如下的命令:
# cp
/usr/local/lib/pkg-config/opencv.pc /usr/lib/pkg-config/
再将/usr/local/lib/ 底下有关opencv的lib全部复制到 /usr/lib 底下
我也搞不懂到底哪个是和opencv相关的,所以干脆直接全部拷贝,哥有的是硬盘空间。
命令如下:
#cp -rf /usr/local/lib/* /usr/lib/
记得加上-rf,因为/usr/local/lib/下有两个文件夹,所以要循环复制。
5.还要注意把OPENCV下的头文件,就是包含cv.h和highgui.h这个2个文件的
那个目录里边的所有文件
(记得是/usr/local/include/opencv),都拷贝到/usr/include下。
6.进入opencv源目录下:
cd /usr/local/share/opencv/samples/c
可以使用以下的命令行编译位于源代码包中的drawing.c例子:
g++ `pkg-config opencv --libs --cflags opencv` drawing.c -o drawing
7.编译得到 drawing ./drawing 执行,得到如下美轮美奂的图片,还是挺有感觉的