现在的位置: 首页 > 综合 > 正文

OPENCV的在LINUX下的安装使用注意事项

2012年09月12日 ⁄ 综合 ⁄ 共 3203字 ⁄ 字号 评论关闭

经过几天的努力(快一个星期了。),终于把OPENCV装到LINUX下并且里边的程序可以正常使用了。本来就应该可以顺利完成的东西,不过,其中遇到很多困难也是不争的事实。" C& G/ o! D& F- G* V
8 M0 e; I* `/ {$ j3 b! v( c
总结以下几点注意事项,希望对以后的工作有所帮助:(按照OPENCV网站上的步骤安装会出现问题)
8 V3 q- P! m1 G1 R, a* @! h' h4 I* \. ?2 N, B7 @' D# \
1.安装RH9时记得把GTK+安装上,否则,OPENCV里边所有程序是执行不了的。
9 l) S; [! v7 F0 D/ i
$ C, x- c  j  @% v* U2.记得修改/etc/ld.so.conf
, g4 x* S8 m6 A% q

添加一行/usr/local/lib% v# @. d3 g: w; A) {! M! w; |

) q. J# H% \( @* H# ldconfig (root用户)/ m7 p( o5 ~& v4 N0 O( m) }1 _# T
  c  `8 D* T# T0 J. w# j
然后将/usr/local/lib/pkg-config中的opencv.pc 拷贝到/usr/lib/pkg-config中,(如果不做这步,根本编译不起)4 Y) r0 ~5 E6 I, M% n* `* x# X
6 O, a6 u$ c2 v5 F, p  ?
可以采用这个操作5 K; j7 q8 `  B0 ^' _0 M
# cp /usr/local/lib/pkg-config/opencv.pc /usr/lib/pkg-config" x5 n7 |2 H& i4 j

* D( Z2 k+ x" a$ g! k; ]: X2 }* |( |3. congfigure的时候,输入./configure --without-python --enable-static
& v% J% }% w/ m9 E3 k0 ?4 [4 y
; x3 H; C8 L; T/ U' y2 U! z2 ?注释:在我的电脑上,如果没有第一个WITHOUT,MAKE的时候就会出错,无奈;第二个是为了在编译程序的时候生成静态连接库文件(具体怎么生成我还没搞懂,新手。。。)& W% U3 p5 D4 u: c4 E/ O: ?
9 M. X8 N9 V6 m4 k( _
之后,出现的提示信息是:
0 c& f/ B6 Y. u1 E./configure
( q/ D; c( u5 t* |checking build system type... i686-pc-linux-gnu$ d8 w% w% o) o
checking host system type... i686-pc-linux-gnu
+ v  y  L. A( Y+ {/ a7 }checking target system type... i686-pc-linux-gnu+ c2 }$ b. I$ `* r1 l) K* u) k3 {7 m
checking for a BSD-compatible install... /usr/bin/install -c
; N' a* q6 p. q) G0 Kchecking whether build environment is sane... yes
8 \/ C) p" P- k, F+ {checking for gawk... no1 G1 [/ Z! a0 [* k/ {$ h0 z1 z
... ...
& @# E& E7 l9 [2 t% L9 |1 z& k, y2 `- w- L
General configuration ==============$ q( g& e+ r4 G/ }! r- c
# o6 U! ]' A! `. w
Compiler: g++
0 `. b9 P. `( K, f- O& B0 U; ?! K) ~/ M' E
CXXFLAGS: -Wall -fno-rtti -pipe -O3 -g -march=i686 -ffast-math -fomit-frame-pointer
6 a3 u1 r7 q  k2 c+ w8 L' c
, D9 I8 g) ~5 P6 f* o0 ^+ }8 SInstall path: /usr/local
- q) z  s7 \+ P+ o6 X6 a% M/ ]% Y) [' l" h
HighGUI configuration ==================4 k; D& Z2 e# H/ x' r) i7 J
" L) ?$ @" n6 ~
Windowing system --------------
4 a$ {: ?1 b3 h# _4 [& s2 z( QUse Carbon / Mac OS X: no5 d- F2 {0 x$ @8 K1 m7 L' `: e* l% N' x
Use gtk+ 2.x: yes
3 C" p: X  [! g  A: qUse gthread: yes. u$ `; E8 z6 q5 n" E: o

6 S8 }! L' F4 a: R" S* vImage I/O ---------------------
" @- [  K4 B& a6 o  u$ M' l! a; QUse libjpeg: yes% o7 c: G; x+ ?0 N1 h, Q- y& O
Use zlib: yes
. m1 m; ?1 V8 ~) n! H7 lUse libpng: yes
; O% V" c8 P: t& u- H5 jUse libtiff: yes  l# U2 ^& \! s
Use libjasper: no  ^( G8 g) d5 N  E" H
Use libIlmImf: no  {' n6 K. h6 Q# r3 K; ^

% u4 H9 Q/ [# S% b  RVideo I/O ---------------------7 n3 [- {) \! y: A. O$ U
Use QuickTime / Mac OS X: no& L4 ]9 \, [+ z, k9 m
Use xine: no
; y4 E, z% N: n( WUse ffmpeg: no
  V& g8 d/ h% e2 X" ~4 gUse dc1394 & raw1394: no: w. `4 m: a7 p* C
Use v4l: yes
) R& K1 g/ o  @5 v% z7 n) RUse v4l2: no
9 u0 ^. }  @( p4 p$ U2 t: T. ]
5 m3 D; O6 h; rWrappers for other languages =============
- A' g- d- ~& |+ [0 K7 r# k& V; Y6 R" Y" [1 Q* @, N4 c
SWIG
6 w9 Z2 a1 Y5 B7 Y1 VPython yes, N5 S' _9 I! P2 @

* D; p; T. i& S2 i$ v) eAdditional build settings ============
. `3 `$ l% Y% m- Z" |( |+ O
/ o1 b) g1 C' Q2 l7 Q# SBuild demo apps yes  v+ S' d; v% S7 I. d' v9 n) c- t# ]

/ `1 [& G/ A! q) t' O/ U9 @Now run make ...( \: x7 d( ]3 [2 I9 m5 A

, _2 h' `  U9 w% `. `. [  K与网上的不太一样,也许今后工作会因为这个问题而导致无法前进。' N& F' k: O% Z3 h; }# I8 }

- n, o( F; h1 ~" n: i& [8 l  Y4.还要注意把OPENCV下的头文件,就是包含cv.h和highgui.h这个2个文件的那个目录里边的所有文件(记得是/usr/local/include/opencv),都拷贝到/usr/include下(别问我为什么,反正不拷贝,编译程序时提示找不到那2个头文件)
) x" \% Y7 k! G3 I% L! j8 c
5 f0 Z- \5 X$ p, L" D# B5.编译链接文件的方法:2 n; G  ]8 ~# M0 D6 N' [3 u0 z

2 R" H; [# i' q7 x8 y以编辑cvtest.c文件为例子(因为highgui中采用了c++,所以一定要用g++编译才可以)3 g: r* J2 _/ d, A+ L

. l4 j! g/ l- j5 cA. g++ `pkg-config --cflags opencv` -o cvtest cvtest.c `pkg-config --libs opencv`
& k2 z+ {1 ~$ S0 Q2 \0 u! p) J. k! X& J0 v6 _0 p
B. 编译: g++ `pkg-config --cflags opencv` -c cvtest.c
: S: w/ R0 _* T0 {  B1 p1 q
: {3 I; s, t0 ]; B9 [# S* l1 l2 e链接: g++ `pkg-config --libs opencv` -o cvtest cvtest.o) O5 T4 S- Y# g" l% W$ o3 p; ~) h

5 }1 s, @; n: t* k  ?1 i5 F注意:g++ 后边那个东西是 ` ,就是ESC下边那个键。

抱歉!评论已关闭.