-
Notifications
You must be signed in to change notification settings - Fork 3
/
install_opencv4.sh
executable file
·189 lines (149 loc) · 8.05 KB
/
install_opencv4.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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################
# -------------------------------------------------------------------- |
# SCRIPT OPTIONS |
# ---------------------------------------------------------------------|
OPENCV_VERSION='4.1.1' # Version to be installed
OPENCV_CONTRIB='YES' # Install OpenCV's extra modules (YES/NO)
RASPBERRY='NO' # Install OpenCV on Raspberry pi 3 or 4
# -------------------------------------------------------------------- |
# | THIS SCRIPT IS TESTED CORRECTLY ON |
# |------------------------------------------------------|
# | OS | OpenCV | Test | Last test |
# |------------------|--------------|------|-------------|
# | Raspibian Buster | OpenCV 3.4.2 | OK | 22 Nov 2019 |
# | Raspibian Buster | OpenCV 4.1.1 | OK | 13 Nov 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 |
echo "####################################################"
echo "# #"
echo "# INSTALAÇÃO OPENCV4 #"
echo "# #"
echo "####################################################"
echo "####################################################"
echo "####################################################"
# 1. KEEP UBUNTU OR DEBIAN UP TO DATE
echo "####################################################"
echo "# UPDATE #"
echo "####################################################"
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
echo "####################################################"
echo "# INSTAÇÃO DE PRÉ REQUISITOS - INICIADA #"
echo "####################################################"
# Build tools:
echo "####################################################"
echo "# build-essential cmake #"
echo "####################################################"
sudo apt-get install -y build-essential cmake
# GUI (if you want GTK, change 'qt5-default' to 'libgtkglext1-dev' and remove '-DWITH_QT=ON'):
echo "####################################################"
echo "# qt5 #"
echo "####################################################"
sudo apt-get install -y qt5-default libvtk6-dev
# 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:
echo "####################################################"
echo "# pacotes de video #"
echo "####################################################"
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
echo "sudo modprobe bcm2835-v4l2" >> ~/.profile
#GStreamer-1.0
echo "####################################################"
echo "# Gstreamer 1.0 #"
echo "####################################################"
sudo apt-get install -y python-gi python3-gi \
gstreamer1.0-tools \
gir1.2-gstreamer-1.0 \
gir1.2-gst-plugins-base-1.0 \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
# Parallelism and linear algebra libraries:
sudo apt-get install -y libtbb-dev libeigen3-dev
# Python:
echo "####################################################"
echo "# pacotes Python e Python3 #"
echo "####################################################"
sudo apt-get install -y python-dev python-tk pylint python-numpy \
python3-dev python3-tk pylint3 python3-numpy flake8
# Java:
echo "####################################################"
echo "# java #"
echo "####################################################"
sudo apt-get install -y ant default-jdk
# Documentation and other:
echo "####################################################"
echo "# wget unzip doxygen #"
echo "####################################################"
sudo apt-get install -y doxygen unzip wget
echo "####################################################"
echo "# INSTAÇÃO DE PRÉ REQUISITOS - CONCLUIDA #"
echo "####################################################"
# 3. INSTALL THE LIBRARY
echo "####################################################"
echo "# INSTAÇÃO OPENCV4 - INICIADA #"
echo "####################################################"
echo "####################################################"
echo "# DOWNLOAD DOS REPOSITORIOS #"
echo "####################################################"
cd ~
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv-${OPENCV_VERSION} OpenCV
if [ $OPENCV_CONTRIB = 'YES' ]; then
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv_contrib-${OPENCV_VERSION} opencv_contrib
mv opencv_contrib OpenCV
fi
echo "####################################################"
echo "# COMPILANDO OPENCV - CMAKE #"
echo "####################################################"
cd OpenCV && mkdir build && cd build
if [ $OPENCV_CONTRIB = 'NO' ]; then
cmake -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON -DWITH_GSTREAMER=ON\
-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_GSTREAMER=ON\
-DWITH_XINE=ON -DENABLE_PRECOMPILED_HEADERS=OFF \
-DOPENCV_ENABLE_NONFREE:BOOL=ON \
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
fi
echo "####################################################"
echo "# COMPILANDO OPENCV - MAKE E MAKE INSTALL #"
echo "####################################################"
if [ $RASPBERRY = 'YES' ]; then
sudo sed -i 's/CONF_SWAPSIZE=100/CONF_SWAPSIZE=1024/g' /etc/dphys-swapfile
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
pip3 install --user numpy
pip3 install --user dlib
make
sudo make install
sudo ldconfig
fi
if [ $RASPBERRY = 'NO' ]; then
NUM_JOBS=$(nproc)
time make -j$NUM_JOBS
sudo make install
sudo ldconfig
fi
# 4. EXECUTE SOME OPENCV EXAMPLES AND COMPILE A DEMONSTRATION
# To complete this step, please visit 'http://milq.github.io/install-opencv-ubuntu-debian'.