Skip to content

Instantly share code, notes, and snippets.

@eungbean
Created November 13, 2018 08:30
Show Gist options
  • Save eungbean/77e051eb4565110c41c1e2e52cfebb3b to your computer and use it in GitHub Desktop.
Save eungbean/77e051eb4565110c41c1e2e52cfebb3b to your computer and use it in GitHub Desktop.
OpenCV One-Click Install Script (with CUDA Support)
######################################
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
######################################
# To complete this step, please visit ''.
# Please Modify Desired OPENCV_VERSION Below
# | THIS SCRIPT IS TESTED CORRECTLY ON |
# |------------------------------------------------------|
# | OS | OpenCV | Test | Last test |
# |------------------|--------------|------|-------------|
# | Ubuntu 18.04 LTS | OpenCV 3.4.2 | OK | 18 Jul 2018 |
# | Debian 9.5 | OpenCV 3.4.2 | OK | 18 Jul 2018 |
# |----------------------------------------------------- |
# | Debian 9.0 | OpenCV 3.2.0 | OK | 25 Jun 2017 |
# | Debian 8.8 | OpenCV 3.2.0 | OK | 20 May 2017 |
# | Ubuntu 16.04 LTS | OpenCV 3.2.0 | OK | 20 May 2017 |
# 0. CONFIG BEFORE INSTALL
# VERSION TO BE INSTALLED
OPENCV_VERSION='3.4.0'
# DEFINE YOUR CUDA VERSION YOU INSTALLED
CUDA_VERSION='8.0'
# 1. KEEP UBUNTU OR DEBIAN UP TO DATE
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y autoremove
# 2. INSTALL THE DEPENDENCIES
# Build tools:
sudo apt-get install -y build-essential cmake pkg-config
# GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake):
sudo apt-get install -y libqt4-dev qt5-default libvtk6-dev
# Media I/O:
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libpng12-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
# Video Strining I/O:
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
# OpenGL Library:
sudo apt-get install -y mesa-utils libgl1-mesa-dri libqt4-opengl-dev
# Parallelism and linear algebra libraries:
sudo apt-get install -y libtbb-dev libeigen3-dev libatlas-base-dev gfortran
# Python:
sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy
# Java:
sudo apt-get install -y ant default-jdk
# Documentation:
sudo apt-get install -y doxygen
# 3. INSTALL THE LIBRARY
sudo apt-get install -y unzip wget
mkdir opencv
cd opencv
wget opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
unzip opencv.zip
rm opencv.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip
unzip opencv_contrib.zip
cd opencv-${OPENCV_VERSION}
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.0/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON ..
# -DWITH_QT=ON \
# -DWITH_OPENGL=ON \
# -DFORCE_VTK=ON -\
# DWITH_TBB=ON \
# -DWITH_GDAL=ON \
# -DWITH_XINE=ON \
# -DBUILD_EXAMPLES=ON \
# -DENABLE_PRECOMPILED_HEADERS=OFF ..
make -j4
sudo make install
sudo ldconfig
# 4. EXECUTE SOME OPENCV EXAMPLES AND COMPILE A DEMONSTRATION
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment