パッチを使った画像のクリッピング

MatplotlibMatplotlibBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python の Matplotlib ライブラリを使って画像をパッチでクリップする方法を学びます。画像をパッチでクリップすることで、画像の特定の領域を強調したり、画像を特定の形状に切り取ることができます。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

始めるには、必要なライブラリをインポートする必要があります。画像を表示してパッチを作成するために Matplotlib を、サンプル画像を読み込むためにcbookライブラリを使用します。

import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.patches as patches

画像の読み込み

サンプル画像を読み込むために、cbookget_sample_dataメソッドを使用します。このメソッドは、画像を表示するためにimshowに渡すことができるファイルライクオブジェクトを返します。

with cbook.get_sample_data('grace_hopper.jpg') as image_file:
    image = plt.imread(image_file)

画像の表示

ここでは、Matplotlib のimshowメソッドを使って画像を表示します。また、軸を非表示にして画像のみを表示するようにします。

fig, ax = plt.subplots()
im = ax.imshow(image)
ax.axis('off')

パッチの作成

パッチを作成するには、Matplotlib のpatchesモジュールを使用します。半径 200 ピクセルの円形のパッチを、点 (260, 200) を中心に作成します。

patch = patches.Circle((260, 200), radius=200, transform=ax.transData)

画像をクリップする

最後に、画像のset_clip_pathメソッドを使って画像をクリップします。このメソッドはパッチを引数として受け取り、画像をパッチの形状にクリップします。

im.set_clip_path(patch)

クリップされた画像を表示する

これで、Matplotlib のshowメソッドを使ってクリップされた画像を表示できます。

plt.show()

まとめ

この実験では、Python の Matplotlib ライブラリを使ってパッチで画像をクリップする方法を学びました。サンプル画像を読み込み、円形のパッチを作成し、画像をパッチの形状にクリップしました。パッチで画像をクリップすることは、画像の特定の領域を強調したり、画像を特定の形状に切り取ったりする際に役立ちます。