JupyterNotebook上に画像を表示する2つの方法

こんにちは、のっくんです。

今日は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")

おわり。

4 件のコメント

  • はじめまして,素晴らしく役に立つ記事でしたのでコメントに残します.Jupyter notebookでノート込みで記録しHTMLに書き出しておこうと思ったのでとても役に立ちました.まだまだPythonはじめたばかりの初心者です.今後も参考にさせ頂きます.
    ところで,Englishタグの2018.9.26「オンライン英会話を継続する方法」について興味があったのでクリックしたところ,ト〇イを検出したと出てみれませんでした.原因分かりますか? もし問題があるようでしたら対応頂けると記事が見れるのですけど...

    • コメントありがとうございます。
      Pythonの学習に役に立ったみたいで良かったです。

      英語の記事については原因がよく分かりません。余分な文字が入っていたので削除等はしてみましたが、直接関係あるかどうか。。。

      • 対応ありがとうございます.Esetウィルス警告がなくなり,記事も見ることができました.Englishページも興味深い記事です.楽しませてもらってます.ちなみに私はCafeTalk派です.オンライン英会話って便利ですけど,プログラミングと同じでマインドセットが大切ですね!

        • 記事が見れたようで良かったです。
          英会話やプログラミングは、何歳からでも成長できるというワクワクマインドセットを持つことが大事かと思います。努力すれば必ず能力は伸びます。
          今回コメントいただき記事を書くモチベーション、励みになりました。

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    ABOUTこの記事をかいた人

    個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog