diff --git a/Dockerfile b/Dockerfile index 453b901..432c12f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,69 +1,50 @@ -FROM nvidia/cuda:8.0-cudnn6-devel -# GPU support +FROM python:3.6 + # No GPU support +RUN apt-get update && \ + apt-get install -y \ + build-essential \ + cmake \ + git \ + wget \ + unzip \ + yasm \ + pkg-config \ + libswscale-dev \ + libtbb2 \ + libtbb-dev \ + libjpeg-dev \ + libpng-dev \ + libtiff-dev \ + libjasper-dev \ + libavformat-dev \ + libpq-dev -RUN mkdir OpenCV && cd OpenCV +RUN pip install numpy -RUN apt-get update && apt-get install -y \ - build-essential \ - checkinstall \ - cmake \ - pkg-config \ - yasm \ - libtiff5-dev \ - libjpeg-dev \ - libjasper-dev \ - libavcodec-dev \ - libavformat-dev \ - libswscale-dev \ - libdc1394-22-dev \ - libxine-dev \ - libgstreamer0.10-dev \ - libgstreamer-plugins-base0.10-dev \ - libv4l-dev \ - python-dev \ - python-numpy \ - python-pip \ - libtbb-dev \ - libeigen3-dev \ - libqt4-dev \ - libgtk2.0-dev \ - # Doesn't work libfaac-dev \ - libmp3lame-dev \ - libopencore-amrnb-dev \ - libopencore-amrwb-dev \ - libtheora-dev \ - libvorbis-dev \ - libxvidcore-dev \ - x264 \ - v4l-utils \ - # Doesn't work ffmpeg \ - libgtk2.0-dev \ -# zlib1g-dev \ -# libavcodec-dev \ - unzip \ - wget - -RUN cd /opt && \ - wget https://github.com/Itseez/opencv/archive/3.1.0.zip -O opencv-3.1.0.zip -nv && \ - unzip opencv-3.1.0.zip && \ - cd opencv-3.1.0 && \ - rm -rf build && \ - mkdir build && \ - cd build && \ - cmake -D CUDA_ARCH_BIN=3.2 \ - -D CUDA_ARCH_PTX=3.2 \ - -D CMAKE_BUILD_TYPE=RELEASE \ - -D CMAKE_INSTALL_PREFIX=/usr/local \ - -D WITH_TBB=ON \ - -D BUILD_NEW_PYTHON_SUPPORT=ON \ - -D WITH_V4L=ON \ - -D BUILD_TIFF=ON \ - -D WITH_QT=ON \ - # -D USE_GStreamer=ON \ - -D WITH_OPENGL=ON .. && \ - make -j4 && \ - make install && \ - echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/opencv.conf && \ - ldconfig -RUN cp /opt/opencv-3.1.0/build/lib/cv2.so /usr/lib/python2.7/dist-packages/cv2.so +WORKDIR / +ENV OPENCV_VERSION="3.4.1" +RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip \ +&& unzip ${OPENCV_VERSION}.zip \ +&& mkdir /opencv-${OPENCV_VERSION}/cmake_binary \ +&& cd /opencv-${OPENCV_VERSION}/cmake_binary \ +&& cmake -DBUILD_TIFF=ON \ + -DBUILD_opencv_java=OFF \ + -DWITH_CUDA=OFF \ + -DENABLE_AVX=ON \ + -DWITH_OPENGL=ON \ + -DWITH_OPENCL=ON \ + -DWITH_IPP=ON \ + -DWITH_TBB=ON \ + -DWITH_EIGEN=ON \ + -DWITH_V4L=ON \ + -DBUILD_TESTS=OFF \ + -DBUILD_PERF_TESTS=OFF \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_INSTALL_PREFIX=$(python3.6 -c "import sys; print(sys.prefix)") \ + -DPYTHON_EXECUTABLE=$(which python3.6) \ + -DPYTHON_INCLUDE_DIR=$(python3.6 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \ + -DPYTHON_PACKAGES_PATH=$(python3.6 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") .. \ +&& make install \ +&& rm /${OPENCV_VERSION}.zip \ +&& rm -r /opencv-${OPENCV_VERSION}