Pythonで画像ファイルの表示(Dockerコンテナ起動し、JupyterLabから実行)

解説

JupyterLabサーバーをDockerコンテナを起動することで起動し、JupyterLab上のPythonプログラミングにおいて、画像ファイルを表示する方法についてまとめます。
(Dockerコンテナを起動し、起動したコンテナ上にいるTerminalからPythonプログラムを実行するときの、画像ファイルを表示する方法は、「Pythonで画像ファイルの表示(Dockerコンテナ起動し、Terminalから実行)」にあります。)

画像ファイルを表示する方法は様々ありますが、以下の方法についてまとめます。

  1. IPython.displayを用いて画像ファイルを読み込み、画像表示をする方法
  2. Pillowを用いて画像ファイルを読み込み、画像表示をする方法
  3. OpenCVを用いて画像ファイルを読み込み、IPythonを用いて画像表示をする方法
  4. OpenCVを用いて画像ファイルを読み込み、Matplotlibを用いて画像表示をする方法

機械学習開発用のコンテナの起動

Dockerコンテナを実行してJupyterLabにアクセス」に従い、コンテナ起動スクリプトファイルを作成します。

以下のコマンドを実行し、「L4T ML」コンテナを起動します。

Jupyterにアクセス

「L4T ML」コンテナを起動すると、以下のようなメッセージが表示され、JupyterLabサーバーも起動します。(IPアドレス部は、実行する Jetson nano の環境によって異なります)



Jetson nano のデスクトップの「Chromium ウェブ・ブラウザ」アプリ、もしくは、同一ネットワーク上のPCのブラウザアプリ(ChromeやEdge)から、
http://[Jetson nano のIPアドレス]:8888
もしくは
http://[Jetson nano のホスト名]:8888
にアクセスします。

JupiterLabが表示されます。ログインします。

1. IPython.displayを用いて画像ファイルを読み込み、画像表示をする方法



実行結果例


画像ファイルの読み込み結果のimageオブジェクトのデータ型は、
IPython.core.display.Image
でした。(「print(type(image))」にて確認)

2. Pillowを用いて画像ファイルを読み込み、画像表示をする方法



実行結果例



画像ファイルの読み込み結果のimageオブジェクトのデータ型は、
PIL.JpegImagePlugin.JpegImageFile
でした。(Jpegフォーマットの画像を読み込んだ場合)(「print(type(image))」にて確認)

3. OpenCVを用いて画像ファイルを読み込み、IPythonを用いて画像表示をする方法



実行結果例


画像ファイルの読み込み結果のarrayImageオブジェクトのデータ型は、
numpy.ndarray
でした。(「print(type(arrayImage))」にて確認)

画像ファイルの読み込み結果のimageオブジェクトのNumPy配列の形状は、
(256, 256, 3)
でした。(256x256の画像を読み込んだ場合)(「print(arrayImage.shape)」にて確認)

4. OpenCVを用いて画像ファイルを読み込み、Matplotlibを用いて画像表示をする方法



実行結果例

コンテナの終了

コンテナを終了するには、起動したコンテナ上にいるTerminalで「exit」と入力します。