dockerfileでpython/opencv環境を構築する。opencv_contribも入れました。
前回、dockerで構築したOpenCV3.4.3にopencv_contribも追加しました。
作業環境
・Ubuntu18.04.1
・Docker-ce 18.06.1
作業内容
dockerfile
opencv contribには一部商用利用できないアルゴリズムが含まれる
xfeatures2dというモジュールでSURFやSIFTが含まれるようです。
これらを使用する場合には
CMAKEのオプションに-D OPENCV_ENABLE_NONFREE=ONを追加する必要がある。
FROM ubuntu:16.04 MAINTAINER kina <kina@kinacon.com> ARG PYTHON_VERSION=3.7.0 ARG OPENCV_VERSION=3.4.3 # プロキシ設定 ENV USER=xxxx \ PASS=xxxx \ PROXY=xxxx.xxxx.xxxx.co.jp:8080 # プロキシ設定(pip) ENV HTTP_PROXY=http://$USER:$PASS@$PROXY/ \ HTTPS_PROXY=http://$USER:$PASS@$PROXY/ # プロキシ設定(apt) RUN echo 'Acquire::http::proxy ''"'"http://${ID}:${PASS}@${PROXY}/"'";' \ > /etc/apt/apt.conf RUN apt update && \ apt install -y --no-install-recommends \ make \ cmake \ gcc \ g++ \ unzip \ wget \ build-essential \ nano \ zlib1g-dev \ libffi-dev \ libssl-dev && \ apt clean && \ rm -rf /var/lib/apt/lists/* # プロキシ設定(wget) RUN ( \ echo "https_proxy=http://${USER}:${PASS}@${PROXY}"; \ echo "use_proxy=on"; \ ) | tee /etc/wgetrc # python3 インストール WORKDIR /tmp/python3 RUN wget --no-check-certificate https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \ tar zxf Python-${PYTHON_VERSION}.tgz && \ rm Python-${PYTHON_VERSION}.tgz WORKDIR /tmp/python3/Python-${PYTHON_VERSION} RUN ./configure && make altinstall && make clean WORKDIR /usr/local/bin/ RUN touch python3 && \ ln -sf $(find -name python3.[0-9]) python3 && \ touch pip3 && \ ln -sf $(find -name pip3.[0-9]) pip3 RUN pip3 install --upgrade pip \ numpy # OpenCV3 インストール RUN apt update && \ apt install -y --no-install-recommends \ ca-certificates \ pkg-config \ libgtk2.0-dev \ libjpeg-dev libpng-dev \ ffmpeg \ libavcodec-dev \ libavformat-dev \ libavresample-dev \ libswscale-dev \ libv4l-dev \ libtbb2 \ libtbb-dev && \ apt clean && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /tmp/opencv WORKDIR /tmp/opencv RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \ unzip ${OPENCV_VERSION}.zip -d . && \ mkdir /tmp/opencv/opencv-${OPENCV_VERSION}/build && \ rm ${OPENCV_VERSION}.zip RUN wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \ unzip opencv_contrib.zip && \ rm opencv_contrib.zip WORKDIR /tmp/opencv/opencv-${OPENCV_VERSION}/build/ RUN cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D OPENCV_EXTRA_MODULES_PATH=/tmp/opencv/opencv_contrib-${OPENCV_VERSION}/modules/ \ -D BUILD_TESTS=OFF \ -D CMAKE_BUILD_TYPE=RELEASE \ -D BUILD_PERF_TESTS=OFF \ -D WITH_FFMPEG=ON \ -D WITH_TBB=ON .. && \ make -j "$(nproc)" && \ make install && \ make clean WORKDIR /tmp
以上。