こんにちは、のっくんです。
今日はJupyterNotebook上で画像を表示する方法をご紹介します。
JupyterNotebook上で画像を表示する方法は2通りあります。
1枚だけ表示したい場合と、複数枚表示したい場合の2パターンをそれぞれ紹介します。
この記事を書くにあたって、Kaggleのハンドジャスチャーの画像を数枚だけピックアップして使わせていただきます。
https://www.kaggle.com/gti-upm/leapgestrecog/version/1
[toc]1枚だけ表示する(IPython.display)
1枚だけ表示したい場合には、2行で書けます。
IPython.display
から`Image`というメソッドをインポートして使用します。
from IPython.display import Image Image("./path/hoge.png")

このやり方だとJupyterNotebook上に画像が大きく見やすい形で表示されます。
複数枚一度に表示する(Matplotlib)
ディープラーニング などをやっていると複数枚をいっぺんに表示したいってことが多いのではないでしょうか。
そういう場合には、`Matplotlib`を使います。
まずは1枚だけ表示してみます。
%matplotlib inline import matplotlib.pyplot as plt import matplotlib.image as mpimg plt.imshow(mpimg.imread("./path/hoge.png"),cmap="gray")
1番上のはマジックコマンドです。これがないとJupyterNotebook上に表示されないので注意してください。

最初の方法よりも少し小さく表示されましたが、縦横の画像のサイズが分かるんです。
かっこいいですね。
次に10枚を一度に表示してみましょう。
作図領域を縦横方向にそれぞれ等分するメソッド`subplot`を使います。
例えば plt.subplot(2,3,4) では領域を縦2 横3 に分割し、その中の4番目(2 行2 列目)を指定します。
figsizeで(横、縦)のサイズ(インチで指定、1インチは2.5センチ)を大きくしないと画像が潰れて何が何だか分からなくなるので、この辺りは画像に合わせて適宜調節してみてください。
plt.figure(figsize=(10,8)) for i,d in enumerate(image_path_list): plt.subplot(5,2,i+1) plt.imshow(mpimg.imread(d),cmap="gray")

おわり。