-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall-opencv.sh
153 lines (124 loc) · 5.54 KB
/
install-opencv.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################
# -------------------------------------------------------------------- |
# SCRIPT OPTIONS |
# ---------------------------------------------------------------------|
OPENCV_VERSION='4.5.5' # Version to be installed
OPENCV_CONTRIB='YES' # Install OpenCV's extra modules (YES/NO)
WITH_GTK='YES'
# -------------------------------------------------------------------- |
# | THIS SCRIPT IS TESTED CORRECTLY ON |
# |------------------------------------------------------|
# | OS | OpenCV | Test | Last test |
# |------------------|--------------|------|-------------|
# | Ubuntu 20.04 LTS | OpenCV 4.5.1 | OK | 27 Mar 2021 |
# |----------------------------------------------------- |
# | Ubuntu 20.04 LTS | OpenCV 4.2.0 | OK | 25 Apr 2020 |
# |----------------------------------------------------- |
# | Debian 10.2 | OpenCV 4.2.0 | OK | 26 Dec 2019 |
# |----------------------------------------------------- |
# | Debian 10.1 | OpenCV 4.1.1 | OK | 28 Sep 2019 |
# |----------------------------------------------------- |
# | Ubuntu 18.04 LTS | OpenCV 4.1.0 | OK | 22 Jun 2019 |
# | Debian 9.9 | OpenCV 4.1.0 | OK | 22 Jun 2019 |
# |----------------------------------------------------- |
# | Ubuntu 18.04 LTS | OpenCV 3.4.2 | OK | 18 Jul 2018 |
# | Debian 9.5 | OpenCV 3.4.2 | OK | 18 Jul 2018 |
# 1. KEEP UBUNTU OR DEBIAN UP TO DATE
sudo apt-get -y update
sudo apt-get -y upgrade # Uncomment to install new versions of packages currently installed
sudo apt-get -y dist-upgrade # Uncomment to handle changing dependencies with new vers. of pack.
sudo apt-get -y autoremove # Uncomment to remove packages that are now no longer needed
# 2. INSTALL THE DEPENDENCIES
# Build tools:
sudo apt-get install -y build-essential cmake
# GUI (if you want GTK, change 'qt5-default' to 'libgtkglext1-dev' and remove '-DWITH_QT=ON'):
if [ ${WITH_GTK} = 'YES' ]; then
sudo apt install -y libgtkglext1-dev libvtk6-dev
else
sudo apt-get install -y qt5-default libvtk6-dev
fi
# Media I/O:
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev \
libopenexr-dev libgdal-dev
# Video I/O:
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev \
libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm \
libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev
# Parallelism and linear algebra libraries:
sudo apt-get install -y libtbb-dev libeigen3-dev
# Python:
sudo apt-get install -y python2-dev python2-tk pylint2 python2-numpy \
python3-dev python3-tk pylint3 python3-numpy flake8
# Java:
sudo apt-get install -y ant default-jdk
# Documentation and other:
sudo apt-get install -y doxygen unzip wget
#;s
# 3. INSTALL THE LIBRARY
if [ ! -d "OpenCV" ]; then
if [ ! -f "opencv-${OPENCV_VERSION}.zip"]; then
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
else
mv opencv-${OPENCV_VERSION}.zip ${OPENCV_VERSION}.zip
fi
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv-${OPENCV_VERSION} OpenCV
else
echo "dir 'OpenCV' is existing"
fi
if [ $OPENCV_CONTRIB = 'YES' ]; then
if [ ! -d "OpenCV/opencv_contrib" ]; then
if [ ! -f "opencv_contrib-${OPENCV_VERSION}.zip"]; then
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip
else
mv opencv_contrib-${OPENCV_VERSION}.zip ${OPENCV_VERSION}.zip
fi
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv_contrib-${OPENCV_VERSION} opencv_contrib
mv opencv_contrib OpenCV
else
echo "dir 'opencv_contrib' is existing"
fi
fi
#------------------------------------------------------------------------------
cd OpenCV
if [ ! -d build ]; then
mkdir build && cd build
else
cd build
fi
if [ ${WITH_GTK}='YES' ]; then
if [ $OPENCV_CONTRIB = 'NO' ]; then
cmake -DWITH_OPENGL=ON -DWITH_GTK:BOOL=ON -DWITH_GTK_2_X:BOOL=ON \
-DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON \
-DBUILD_examples=OFF \
-DWITH_XINE=ON -DENABLE_PRECOMPILED_HEADERS=OFF ..
fi
if [ $OPENCV_CONTRIB = 'YES' ]; then
cmake -DWITH_OPENGL=ON -DWITH_GTK:BOOL=ON -DWITH_GTK_2_X:BOOL=ON \
-DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON \
-DWITH_XINE=ON -DENABLE_PRECOMPILED_HEADERS=OFF \
-DBUILD_examples=OFF -DOpenGL_GL_PREFERENCE=GLVND\
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
fi
else #...............................................
if [ $OPENCV_CONTRIB = 'NO' ]; then
cmake -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON \
-DBUILD_examples=OFF \
-DWITH_XINE=ON -DENABLE_PRECOMPILED_HEADERS=OFF ..
fi
if [ $OPENCV_CONTRIB = 'YES' ]; then
cmake -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON \
-DWITH_XINE=ON -DENABLE_PRECOMPILED_HEADERS=OFF \
-DBUILD_examples=OFF -DOpenGL_GL_PREFERENCE=GLVND\
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
fi
fi
#------------------------------------------------------------------------------
make -j6
sudo make install
sudo ldconfig
# 4. EXECUTE SOME OPENCV EXAMPLES AND COMPILE A DEMONSTRATION
# To complete this step, please visit 'http://milq.github.io/install-opencv-ubuntu-debian'.