Matplotlib を使った画像のプロット

Beginner

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

はじめに

この実験では、Python の Matplotlib ライブラリを使って画像をプロットし、操作する方法を学びます。画像データを NumPy 配列にインポートし、NumPy 配列を画像としてプロットし、疑似カラースキームを適用し、カラースケールの参照を追加し、特定のデータ範囲を調べ、さまざまな補間スキームを探索する方法を学びます。

VM のヒント

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

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

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

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 初級 レベルの実験の完了率は 89%です。学習者から 100% の好評価を得ています。

画像データのインポート

まず、必要なライブラリをインポートし、画像データを NumPy 配列に読み込む必要があります。この例では、PIL ライブラリを使って画像を読み込み、その後 NumPy 配列に変換します。

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

img = np.asarray(Image.open('./stinkbug.png'))

画像のプロット

これで画像データが NumPy 配列に格納されているので、matplotlib.pyplotimshow 関数を使って画像をプロットできます。この関数は画像配列を入力として受け取り、画像プロットとして表示します。

plt.imshow(img)

疑似カラースキームの適用

疑似カラースキームを使うと、コントラストを高め、データをより容易に可視化できます。画像がグレースケールの場合、異なるカラーマップを指定することで疑似カラースキームを適用できます。これは imshow 関数の cmap パラメータを使って行うことができます。

lum_img = img[:, :, 0]
plt.imshow(lum_img, cmap="hot")

カラースケールの参照の追加

カラースケールの参照を提供するには、プロットにカラーバーを追加できます。これは matplotlib.pyplotcolorbar 関数を使って行うことができます。

imgplot = plt.imshow(lum_img)
plt.colorbar()

特定のデータ範囲の調査

時には、画像内の特定のデータ範囲を調査する必要がある場合があります。これは、imshow 関数の clim パラメータを使ってカラーマップの制限を調整することで行うことができます。これにより、画像の特定の領域に焦点を当てることができ、他の領域の詳細は犠牲にすることができます。

min_value, max_value = 100, 200
plt.imshow(img, clim=(min_value, max_value))

配列補間スキーム

画像のサイズ変更時には、欠けた領域を埋めるために画素値を補間する必要があります。異なる補間スキームを使って、画素の周囲の画素に基づいて画素値を決定することができます。Matplotlib は、「nearest」、「bilinear」、「bicubic」などの異なる補間オプションを提供しています。

plt.imshow(img, interpolation="bilinear")

まとめ

この実験では、Matplotlib を使って画像をプロットし、操作する方法を学びました。画像データを NumPy 配列にインポートし、NumPy 配列を画像としてプロットし、疑似カラースキームを適用し、カラースケールの参照を追加し、特定のデータ範囲を調査し、さまざまな補間スキームを探る方法を学びました。これらのスキルは、さまざまなアプリケーションにおける画像の可視化と分析に役立ちます。