Kinaconの技術ブログ

Ubuntuはじめました。

DockerのコンテナでOpenCV(python)開発環境を構築する

f:id:m-oota-711:20180824075049j:plain

前回、DockerのコンテナでOpenCV(C++)を実行できるようにしました。
今回はそのpython版です。


作業環境

・Ubuntu18.04.1
f:id:m-oota-711:20181015133547p:plain

・Docker-ce 18.06.1
f:id:m-oota-711:20181015133732p:plain





作業内容

Dockerの導入

導入方法は以下。
kinacon.hatenablog.com

sudoの省略やdockerコマンドの使い方は以下。
kinacon.hatenablog.com

OpenCVビルド用パッケージのインストール

docker container run -it --rm ubuntu:16.04
apt update
apt install -y  --no-install-recommends make cmake gcc g++ unzip wget build-essential zlib1g-dev libffi-dev libssl-dev
apt clean

python3のインストール

ここにpythonのソースが置かれている。
現在の最新の安定版は「3.7.0」。「3.7.1」はまだRC版のようだ。

PYTHON_VERSION="3.7.0"
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
tar zxf Python-${PYTHON_VERSION}.tgz
cd Python-${PYTHON_VERSION}
./configure
make altinstall

リンクを作成

python3.7.0は/usr/local/binにある。
f:id:m-oota-711:20181015153115p:plain


ln -s /usr/local/bin/python3.7 /bin/python3
ln -s /usr/local/bin/pip3.7 /bin/pip3

python3 を起動してみる。

python3

f:id:m-oota-711:20181015145449p:plain




numpy, pillow(PIL)のインストール

インストールされているか確認

pip3 install --upgrade pip
pip3 list


インストール

pip3 install numpy pillow


*******************************************************************
python3の環境ができたので、一旦イメージにcommitしておく。

・ctl+p、ctl+qでコンテナを起動させたまま抜ける
・docker container ls でコンテナのIDを確認
・docker container commit [コンテナID] [作成するイメージ名]
・docker image ls でイメージできたか確認

f:id:m-oota-711:20181015160101p:plain


コンテナにはdocker container attach [コンテナID]で入ることができる。

********************************************************************



OpenCVのインストール

関連パッケージのインストール

apt update
apt install --no-install-recommends -y build-essential cmake nano \
ca-certificates unzip wget \
pkg-config \
libgtk2.0-dev \
libjpeg-dev libpng-dev \
ffmpeg libavcodec-dev libavformat-dev libavresample-dev libswscale-dev \
libv4l-dev \
libtbb-dev
apt clean

OpenCVのインストール

OPENCV_VERSION="3.4.3"
mkdir -p /tmp/opencv && cd /tmp/opencv
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
unzip ${OPENCV_VERSION}.zip -d .
mkdir /tmp/opencv/opencv-${OPENCV_VERSION}/build && cd /tmp/opencv/opencv-${OPENCV_VERSION}/build/
cmake -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D WITH_FFMPEG=ON -D WITH_TBB=ON  .. | tee /tmp/opencv_cmake.log
make -j "$(nproc)" | tee /tmp/opencv_build.log
make install | tee /tmp/opencv_install.log

pythonでOpenCVのバージョン確認

python3 #python起動

import cv2
cv2.__version__

f:id:m-oota-711:20181015163424p:plain




無事に環境構築ができたようです。
コンテナは消す前にcommitしましょう。

以上。