Created
January 30, 2021 01:49
-
-
Save otamajakusi/ec84ad192ddb4ebf302d31d03da31909 to your computer and use it in GitHub Desktop.
opencv build docker files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 | |
| ENV DEBIAN_FRONTEND noninteractive | |
| ARG OPENCV_VERSION='4.4.0' | |
| ARG GPU_ARCH='6.1' | |
| WORKDIR /opt | |
| # Build tools | |
| RUN apt update && \ | |
| apt install -y \ | |
| sudo \ | |
| tzdata \ | |
| git \ | |
| cmake \ | |
| wget \ | |
| unzip \ | |
| build-essential | |
| # Media I/O: | |
| RUN sudo apt install -y \ | |
| zlib1g-dev \ | |
| libjpeg-dev \ | |
| libwebp-dev \ | |
| libpng-dev \ | |
| libtiff5-dev \ | |
| libopenexr-dev \ | |
| libgdal-dev \ | |
| libgtk2.0-dev | |
| # Video I/O: | |
| RUN sudo apt 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 \ | |
| libgstreamer1.0-dev \ | |
| libgstreamer-plugins-base1.0-dev \ | |
| libopencv-highgui-dev \ | |
| ffmpeg | |
| # Parallelism and linear algebra libraries: | |
| RUN sudo apt install -y \ | |
| libtbb-dev \ | |
| libeigen3-dev | |
| # Python: | |
| RUN sudo apt install -y \ | |
| python3-dev \ | |
| python3-tk \ | |
| python3-numpy | |
| # Build OpenCV | |
| RUN 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 && \ | |
| wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ | |
| unzip ${OPENCV_VERSION}.zip && \ | |
| mkdir build && \ | |
| cd build && \ | |
| cmake \ | |
| -D WITH_TBB=ON \ | |
| -D CMAKE_BUILD_TYPE=RELEASE \ | |
| -D BUILD_EXAMPLES=ON \ | |
| -D WITH_FFMPEG=ON \ | |
| -D WITH_V4L=ON \ | |
| -D WITH_OPENGL=ON \ | |
| -D WITH_CUDA=ON \ | |
| -D CUDA_ARCH_BIN=${GPU_ARCH} \ | |
| -D CUDA_ARCH_PTX=${GPU_ARCH} \ | |
| -D WITH_CUBLAS=ON \ | |
| -D WITH_CUFFT=ON \ | |
| -D WITH_EIGEN=ON \ | |
| -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \ | |
| -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-${OPENCV_VERSION}/modules/ \ | |
| .. && \ | |
| make all -j$(nproc) && \ | |
| make install |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment