ホームページ > バックエンド開発 > Python チュートリアル > Python で RGB 画像をグレースケールに変換するにはどうすればよいですか?

Python で RGB 画像をグレースケールに変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-30 13:06:12
オリジナル
792 人が閲覧しました

How Can I Convert an RGB Image to Grayscale in Python?

Python で RGB イメージをグレースケールに変換する

Python の matplotlib ライブラリを使用して、RGB イメージをグレースケールに変換しようとしています。ライブラリは読み取り機能を提供しますが、グレースケール変換は明示的に含まれていません。

組み込み関数検索

ネイティブのグレースケール変換関数が存在しないという疑問は当然です。 NumPy または matplotlib のいずれかで。実際、このような変換は画像処理における基本的な操作です。

解像度オプション

組み込み関数がないにもかかわらず、推奨されるアプローチがいくつかあります。

枕ライブラリ:

枕、画像操作ライブラリは、シンプルで効率的なソリューションを提供します:

from PIL import Image
img = Image.open('image.png').convert('L')
img.save('greyscale.png')
ログイン後にコピー

Matplotlib 式の実装:

Matplotlib を使用すると、グレースケール変換式を自分で実装できます:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])

img = mpimg.imread('image.png')
gray = rgb2gray(img)
plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1)
plt.show()
ログイン後にコピー

カスタム関数:

元のコードに示されているように、変換を実行する独自の関数を作成することもできます。これは最も効率的ではないかもしれませんが、実行可能なソリューションを提供します。

アルファ チャネルの保持

入力画像にアルファ (透明) チャネルが含まれている場合、Pillow は次のことを許可します。 「LA」モードを使用して保存することもできます。

img = Image.open('image.png').convert('LA')
ログイン後にコピー

これらのアプローチは、ユーザーのニーズに基づいて柔軟性と効率性を提供します。特定の要件。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート