Skip to content

Commit e9deac7

Browse files
gigantejanza
authored andcommitted
Refactoring
- Update opencv - Fewer layers - Removed "cd" and "mkdir" commands with appropriated WORKDIR
1 parent 50f156d commit e9deac7

1 file changed

Lines changed: 37 additions & 35 deletions

File tree

Dockerfile

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
FROM python:3.9
2+
23
LABEL mantainer="Josip Janzic <josip@jjanzic.com>"
34

4-
RUN apt-get update \
5-
&& apt-get install -y \
5+
WORKDIR /opt/build
6+
7+
ENV OPENCV_VERSION="4.5.1"
8+
9+
RUN apt-get -qq update \
10+
&& apt-get -qq install -y --no-install-recommends \
611
build-essential \
712
cmake \
813
git \
@@ -16,38 +21,35 @@ RUN apt-get update \
1621
libjpeg-dev \
1722
libpng-dev \
1823
libtiff-dev \
24+
libopenjp2-7-dev \
1925
libavformat-dev \
2026
libpq-dev \
21-
&& rm -rf /var/lib/apt/lists/*
22-
23-
RUN pip install numpy
24-
25-
WORKDIR /
26-
ENV OPENCV_VERSION="4.5.0"
27-
RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip \
28-
&& unzip ${OPENCV_VERSION}.zip \
29-
&& mkdir /opencv-${OPENCV_VERSION}/cmake_binary \
30-
&& cd /opencv-${OPENCV_VERSION}/cmake_binary \
31-
&& cmake -DBUILD_TIFF=ON \
32-
-DBUILD_opencv_java=OFF \
33-
-DWITH_CUDA=OFF \
34-
-DWITH_OPENGL=ON \
35-
-DWITH_OPENCL=ON \
36-
-DWITH_IPP=ON \
37-
-DWITH_TBB=ON \
38-
-DWITH_EIGEN=ON \
39-
-DWITH_V4L=ON \
40-
-DBUILD_TESTS=OFF \
41-
-DBUILD_PERF_TESTS=OFF \
42-
-DCMAKE_BUILD_TYPE=RELEASE \
43-
-DCMAKE_INSTALL_PREFIX=$(python3.9 -c "import sys; print(sys.prefix)") \
44-
-DPYTHON_EXECUTABLE=$(which python3.9) \
45-
-DPYTHON_INCLUDE_DIR=$(python3.9 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
46-
-DPYTHON_PACKAGES_PATH=$(python3.9 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
47-
.. \
48-
&& make install \
49-
&& rm /${OPENCV_VERSION}.zip \
50-
&& rm -r /opencv-${OPENCV_VERSION}
51-
RUN ln -s \
52-
/usr/local/python/cv2/python-3.9/cv2.cpython-37m-x86_64-linux-gnu.so \
53-
/usr/local/lib/python3.9/site-packages/cv2.so
27+
&& pip install numpy \
28+
&& wget -q https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip -O opencv.zip \
29+
&& unzip -qq opencv.zip -d /opt \
30+
&& rm -rf opencv.zip \
31+
&& cmake \
32+
-D BUILD_TIFF=ON \
33+
-D BUILD_opencv_java=OFF \
34+
-D WITH_CUDA=OFF \
35+
-D WITH_OPENGL=ON \
36+
-D WITH_OPENCL=ON \
37+
-D WITH_IPP=ON \
38+
-D WITH_TBB=ON \
39+
-D WITH_EIGEN=ON \
40+
-D WITH_V4L=ON \
41+
-D BUILD_TESTS=OFF \
42+
-D BUILD_PERF_TESTS=OFF \
43+
-D CMAKE_BUILD_TYPE=RELEASE \
44+
-D CMAKE_INSTALL_PREFIX=$(python3.9 -c "import sys; print(sys.prefix)") \
45+
-D PYTHON_EXECUTABLE=$(which python3.9) \
46+
-D PYTHON_INCLUDE_DIR=$(python3.9 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
47+
-D PYTHON_PACKAGES_PATH=$(python3.9 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
48+
/opt/opencv-${OPENCV_VERSION} \
49+
&& make -j$(nproc) \
50+
&& make install \
51+
&& rm -rf /opt/build/* \
52+
&& rm -rf /opt/opencv-${OPENCV_VERSION} \
53+
&& rm -rf /var/lib/apt/lists/* \
54+
&& apt-get -qq autoremove \
55+
&& apt-get -qq clean

0 commit comments

Comments
 (0)