EDA365电子论坛网

标题: ubuntu16.04上安装opencv3.0+opencv_contrib [打印本页]

作者: ulppknot    时间: 2021-4-14 15:50
标题: ubuntu16.04上安装opencv3.0+opencv_contrib
step 1,打开终端,更新一下各种包,两个命令的区别可自行bing
/ o6 ?' m7 `  l2 C, Z8 N, @% e. X$ ?1 n$ O
$ sudo apt-get update
  X2 C9 w9 e4 \* v  v. X. h: k  S9 x( ~7 O6 m! Y
$ sudo apt-get upgrade. C' P4 C% [8 g2 ~, T( p$ z

5 i" ^# v# \& D" [' I" S' E​step2,接下来安装一些开发工具
1 S& a$ z( `% a. }4 J% [" y; ?( ]+ B/ a4 k6 H: X# @% b6 d
$ sudo apt-get install build-essential  cmake  git  pkt-config​
8 r9 F' Y* V' _$ g1 X3 H9 Q! p3 _/ H* x
git 用来从github下载opencv源文件,cmake编译
5 T; _* q5 O! l. _7 q! j! n$ }) h. s' j# c) A5 U* Y- w- q
step3,安装一些用于解析图片文件的包
0 B3 X2 s: Z$ E5 u- p
" s1 Y8 H! ?' ^/ M& Y4 O$ sudo apt-get install  libjpeg8-dev  libtiff4-dev(或用libtiff5-dev替代) libjasper-dev  libpng12-dev
6 o3 {5 d# r, q8 Q: ]* y
$ T8 h7 r( i) Pstep4,​安装GTK开发库,用于把图片在屏幕上显示1 w1 q  \+ X3 n" V, c7 i1 ?

4 W+ ^8 f3 h( {6 r$ sudo apt-get install  libgtk2.0-dev
( {- D3 l' @  s+ j& }
, V' f9 m5 D1 \step5,安装处理视频流和单个画面帧的库9 E9 X; C" z. E7 N; R4 }
! j+ B) @- c- B; J, C- {3 Z
$ sudo apt-get install  libavcode-dev  libavformat-dev  libswscale-dev  libv4l-dev
' V5 p9 S0 H# j% _" Y" E
4 k1 m1 N5 }$ |step6,优化OpenCV的库
* h% v0 T  M3 ]
/ u  |0 ^! S& y1 O1 G( x+ Q8 G/ n5 a2 c$ sudo apt-get install  libatlas-base-dev  gfortran/ s  U3 @, I8 R& Y

9 \7 [4 y5 Y# W/ l2 Z8 ystep7,安装python包管理工具pip
- _- @3 t6 s8 Q- i7 R
5 ]3 U* Y! J6 t$ wget https: //bootstrap.pypa.io/get-pip.py2 [+ }1 j) Z. x  j) P* D

+ p3 Q% E7 V2 f+ i- W9 E7 k( d$ sudo python get-pip.py
+ R& c' S! F0 `+ _1 h8 A1 R" z- e& x' u
step8,安装virtualenv和virtualenvwrapper,用于创建OpenCV的单独环境
3 f  K6 |# X7 b8 o% s8 {% P) n/ A$ E, _, r  L' G- x* l# u
$ sudo pip install  virtualenv  virtualenvwrapper% K3 a" A1 b# Z( s

" y! C% e" O1 e: y$ e; c$ sudo rm -rf  ~/.cache/pip
) n3 s4 C' a( x; u  |. n, m1 O
- Q; B! L+ Y, W: N- `现在更新一下环境变量. C  Z0 Y: x' ~7 w: `- e% F

  F: W5 ?! `. s/ F  {1 A$ export WORKON_HOME=$HOME/.virtualenvs
9 S9 F$ X4 I- p- M% R, i, Z2 v, q4 r
$ source /usr/local/bin/virtualenvwrapper.sh
5 Z/ i# O/ {: Y$ v- ^
+ e* Z5 @; y9 A% b下面的命令会让更改后的环境变量立即生效
) \* f. Y6 D1 W5 w( w
% T/ i8 K; Y8 F3 W; ]$ source ~/.bashrc
' w4 `% T( {  O. w. n  S6 J5 d0 A1 x: [4 D
接下来创建OpenCV的虚拟环境cv,
( v; A2 g0 d- v5 x: s: n7 P) s9 C& q3 Y/ I
$ mkvirtualenv  cv) }5 E+ e; w/ i! \! ^/ X1 n
4 Z" L' _) m$ l. K7 G- V
step 9,安装python2.7开发工具# `: q2 v, k+ d- v7 k
5 U$ n# |1 [: \! y0 J- n
$ sudo apt-get install  python2.7-dev
+ c  U1 D" v( ?4 ?6 H$ V3 e
5 M/ y9 Y/ T3 C( t# p$ U4 k$ sudo pip install numpy3 d6 ^5 U* x3 I0 i
: U. \5 N/ P+ g) F2 p! l
step 10,​从github上Download Opencv3.0 和 opencv_contrib3.0,用不用git命令下载都可以
8 x( @- Q* g$ ~+ J4 V3 }0 u! }$ Z$ E) d' a! J
$ cd ~
5 A( N0 q- W' P" s
! `8 S. r  L# H0 l$ git clone https: //github.com/Itseez/opencv.git
( o/ s6 n4 ~1 @/ m; m) h$ _, y7 s- I
$ git clone https: //github.com/Itseez/opencv_contrib.git
6 b" e& R& o/ U1 _' }# h
) ^$ r) R' s0 I! H  }4 Ostep11,接下来准备build,注意opencv的版本是3.0.0还是3.1.0,执行下面命令
/ u. V2 a; I4 Z8 n- ]- A
  n( `* f; _: J* M* J6 {2 Q8 y4 |* x$ cd  ~/opencv3 T# m  t* L; T' e- \4 k9 T. _0 {

5 f4 m1 x" x) e1 c$ mkdir  build' d! r) s4 u* ^$ S, u

' r: \: ^, q9 q) a* F; ]6 K$ cd build
" x  X7 B8 X! u9 p- d
/ `; n- C) b6 x. j+ z$ cmake  -D CMAKE_BUILD_TYPE=TELEASE   \* I" f8 r/ C" `( J/ @; X8 ?
9 Q" p& e2 s% `% X
               -D  CMAKE_INSTALL_PREFIX=/usr/local    \+ z9 n- ]. |: K/ M0 o; [
& J, x$ v+ N* v) }( r
               -D  INSTALL_C_EXAMPLE=ON   \
# V9 y+ o9 l, t# R1 c/ V$ g: G6 k. W! j2 _4 z; `
               -D  INSTALL_PYTHON_EXAMPLE=ON   \
6 Q) N+ C6 G' t! [1 y1 K& r* w8 [+ e3 a4 @7 C) q- a3 B% Q
               -D  OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules   \( d- T  L, B/ Q' I

  O5 P) B" w. g" T# y               -D  BUILD_EXAMPLES=ON   ..        后面这连个点注意
' R. a7 J: ]( {0 [* E3 ?
/ i9 R/ r- y: r! E. l0 }  g如果编译的是opencv3.1.0,注意,​​ -D  INSTALL_C_EXAMPLE= OFF ,不是ON; d; t. x/ j9 L6 @+ m. W- l  U

+ q* _  S8 |' l6 r下来是compile:% k7 R2 K% h7 S( a% q

, m# m  Z$ O! [$ make  -j4         用多核心加速
) O5 a0 a4 [2 U' D; o/ v1 l
2 O4 A& c- a( F8 s; ]% b​step12,编译完成后,开始安装0 a. ?6 p' e/ p/ S

- @1 n  d. V2 d  I$ sudo  make install5 u1 D* a$ }; {& u! ^4 A, R

1 V1 X9 _2 X: c" z' l% T! w5 L$ sudo ldconfig
6 ?- T0 [5 K. W! q0 d  C- i; M# V7 q0 J$ u
step13,此时opencv的位置是在/usr/local/lib/python2.7/site-packages,进入下面这个路径下,​把cv2.so同步链接到opencv的虚拟环境中4 Z7 W: Y  e& b5 r% R

+ u7 U& j2 M1 V7 _% H$ cd ~/.virtualenvs/cv/lib/python​2.7/site-packages// S- i3 I3 _$ c" }5 a$ K; _; y
- `" D1 ^+ s6 z; `2 _( K% j8 C
$ ln  -s /usr/local/lib/python2.7/site-packages/cv2.so   cv2.so
$ c* N1 N3 D. o, {2 O0 n4 G
$ E; V! K: a7 r8 r3 j& ~step14,大功告成,Opencv 3.0 + opencv_contrib 3.0​ + python2.7,就在ubuntu中安装好了。
作者: SsaaM7    时间: 2021-4-14 16:31
ubuntu16.04上安装opencv3.0+opencv_contrib




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2