ホームページ  >  記事  >  バックエンド開発  >  Matplotlib でグレースケール画像を正しく表示するにはどうすればよいですか?

Matplotlib でグレースケール画像を正しく表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 04:41:01768ブラウズ

How to Display Grayscale Images Correctly in Matplotlib?

画像をグレースケールで表示する

多くの画像操作タスクでは、処理を容易にするためにグレースケール画像が必要になることがよくあります。 Matplotlib の imshow() 関数を使用してグレースケール イメージを表示するのは、イメージが誤ってカラーマップとしてレンダリングされた場合に困難になることがあります。

この問題を解決してグレースケール イメージを正しく表示するには、次の手順に従います。

  1. 必要なライブラリをインポートします: 画像処理用の NumPy、プロット用の Matplotlib、画像操作用の PIL などの重要なライブラリを読み込みます。
  2. 画像を読み取り、グレースケールに変換します: PIL の Image.open() 関数を使用して、ファイルから画像を読み取ります。次に、convert("L") を使用して画像をグレースケールに変換します。
  3. 画像を行列に変換: SciPy の scipy.misc.fromimage() を使用して、グレースケール画像を数値行列に変換します。
  4. グレースケール表示を指定: matplotlib.pyplot.imshow() を使用して行列を表示する場合、カラーマップを明示的に「グレー」として指定し、画像をグレースケールでレンダリングします。 「vmin」パラメータと「vmax」パラメータを調整して、グレースケール強度の値の範囲を設定します。
<code class="python">import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

fname = 'image.png'
image = Image.open(fname).convert("L")
arr = np.asarray(image)
plt.imshow(arr, cmap='gray', vmin=0, vmax=255)
plt.show()</code>

あるいは、逆グレースケールを表示するには、cmap パラメータを「gray_r」に変更するだけです。

以上がMatplotlib でグレースケール画像を正しく表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。