-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathopencv-install.sh
More file actions
109 lines (76 loc) · 3.16 KB
/
Copy pathopencv-install.sh
File metadata and controls
109 lines (76 loc) · 3.16 KB
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
#!/bin/bash
#### This script has been used to create an image
# that contains OpenCV and openssh-client.
# The image is used to boot several containers that
# perform image processing tasks.
#
# Master in Web Tecnologies, Cloud Computing, and
# Mobile Applications
#
# http://www.uv.es/twcam
####
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################
# -------------------------------------------------------------------- |
# SCRIPT OPTIONS |
# ---------------------------------------------------------------------|
OPENCV_VERSION='3.4.2' # Version to be installed
OPENCV_CONTRIB='NO' # Install OpenCV's extra modules (YES/NO)
# -------------------------------------------------------------------- |
DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y dist-upgrade
apt-get install -y sudo
# 1. ADD NEW USER ACCOUNT
adduser --disabled-password --gecos '' app
adduser app sudo &&
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers;
chmod g+rw /home
mkdir -p /home/app
chown -R app:app /home/app
# 2. INSTALL THE DEPENDENCIES
apt-get install -y wget unzip
mkdir /opt/local
cd /opt/local
wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.7-bin.zip
mv apache-ant-1.10.7-bin.zip ant.zip
unzip ant.zip
rm ant.zip
mv apache-ant-1.10.7 ant
export ANT_HOME=/opt/local/ant
export PATH=${ANT_HOME}/bin:${PATH}
build_tools=(unzip build-essential cmake python-dev python-numpy)
media_io_tools=(zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev libopenexr-dev libgdal-dev)
# Video I/O:
#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
lin_alg_tools=(libtbb-dev libeigen3-dev)
apt-get install -y ${build_tools[@]}
apt-get install -y ${media_io_tools[@]}
apt-get install -y ${lin_alg_tools[@]}
# 3. INSTALL THE LIBRARY
cd /tmp
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip && rm ${OPENCV_VERSION}.zip
mv opencv-${OPENCV_VERSION} OpenCV
cd OpenCV && mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=OFF ..
make -j8
mkdir /opt/local/lib
cp bin/opencv*.jar lib/libopencv_java*.so /opt/local/lib
# Install TensorFlow libraries for Java
cd /opt/local/lib
wget https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-1.14.0.tar.gz
tar xzvf libtensorflow_jni-cpu-linux-x86_64-1.14.0.tar.gz
rm libtensorflow_jni-cpu-linux-x86_64-1.14.0.tar.gz
wget https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-1.14.0.jar
# Install openssh (to run scp from the container)
apt-get install -y openssh-client
apt-get remove --purge -y ${build_tools[@]}
apt-get remove --purge -y ${media_io_tools[@]}
apt-get remove --purge -y ${lin_alg_tools[@]}
apt-get autoclean && apt-get -y autoremove && apt-get clean
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /opt/local/ant
chown -R app:app /opt/local/lib