LoginSignup
9
2

More than 5 years have passed since last update.

docker + jupyter で画像処理用コンテナ

Last updated at Posted at 2018-03-03

dockerで画像処理用コンテナをパッと作る。

Dockerfile

FROM jupyter/base-notebook

USER root
RUN apt-get update -y && apt-get install -y python-opencv

USER jovyan
RUN pip install https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master \
jupyter_nbextensions_configurator pillow opencv-python
RUN jupyter contrib nbextension install --user && jupyter nbextensions_configurator enable --user

詳細は以下に

  • ベースのイメージはjupyter公式の最もベーシックなものです。 → jupyter/base-notebook
  • このimageを起動するとjovyanユーザーでnotebookが起動されるので、apt等でシステム側に必要なパッケージをインストールしてます。例としpython-opencvをインストールしてますが、必要なものをインストールしてください。
  • 便利そうなので、nbextensions周りをインストールしてます。

起動

Dockerfileを置いたディレクトリに移動して、

buildDockerfileを変更をしない限りは一度だけ実行すればOKです。

docker build -t jupyter_blog .

run

docker run -it --rm -v $PWD:/home/jovyan/work --name jupyter_blog -p 8888:8888 jupyter_blog

詳細は以下

  • jupyter_blog という名前をつけてbuildしてます。
  • カレントディレクトリをdocker内の /home/jovyan/work にマウントしてます。使う画像ファイルとか .ipynb ファイルとかをここに入れて使ってます。
  • あとは起動後に、 http://localhost:8888/?token=**************** というようなURLが出力されるので、このURLにアクセスするとOKです。

処理例

gist
uitspitss/practice.ipynb

from IPython.display import display
from PIL import Image
import cv2
import numpy as np

img = Image.open('myicon.jpg')
display(img)

_img = np.asarray(img)
_img = cv2.GaussianBlur(_img, (45, 1), 0)
display(Image.fromarray(_img))
9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2