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

Matplotlib.pyplot.imshow() を使用してグレースケール画像を正しく表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 06:44:29165ブラウズ

How do I Display a Grayscale Image Correctly with Matplotlib.pyplot.imshow()?

Matplotlib を使用したグレースケール画像表示の実現

matplotlib.pyplot.imshow() を使用してグレースケール画像を表示しようとすると、問題が発生する可能性がありますその結果、イメージがカラーマップとして表示されます。この問題に対処するには、グレースケール画像変換の正しい手順を理解することが重要です。

この場合、ユーザーは画像をロードし、PIL の Image.open().convert("L ") 関数。ただし、その後の scipy.misc.fromimage() を使用した行列への変換により、不要な手順が導入され、画像のグレースケール表現が破損する可能性がありました。

グレースケール画像を正しく表示するには、次の手順に従います。

  1. 必要なライブラリをインポートします。数値演算には numpy、画像プロットには matplotlib.pyplot を使用します。
  2. PIL の Image.open() を使用して画像を読み込みます。
  3. 次を使用して画像をグレースケールに変換します。 Convert("L").
  4. np.asarray() を使用してグレースケール イメージを NumPy 配列に変換します。
  5. matplotlib.pyplot.imshow() を使用してグレースケール イメージを表示します。グレースケール表現を強制するには、必ず cmap='gray' を指定してください。

サンプル コードは次のとおりです:

<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.pyplot.imshow() を使用してグレースケール画像を正しく表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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