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

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

Mary-Kate Olsen
リリース: 2024-12-12 20:23:13
オリジナル
454 人が閲覧しました

How Can I Convert RGB Images to Grayscale in Python?

Python で RGB 画像をグレースケールに変換する

RGB 画像をグレースケールに変換することは、画像処理の基本的な操作です。 Python では、scikit-image、NumPy、Pillow などの一般的なライブラリを使用してこのタスクを実行するさまざまなアプローチがあります。

Pillow

Pillow は強力な Python ライブラリです。画像加工用。これは、関数 Convert を使用して RGB 画像をグレースケールに変換する便利な方法を提供します。

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

引数 'L' は、輝度値を維持しながら画像をグレースケールに変換することを指定します。入力イメージにアルファ (透明) チャネルが含まれており、それを保持する必要がある場合は、代わりに「LA」モードを使用します。

NumPy および Matplotlib

別のアプローチは次のとおりです。 NumPy と Matplotlib を使用します。 NumPy は、RGB からグレースケールへの変換の簡単な実装を提供します。

import numpy as np
def rgb2gray(rgb):
    return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140])
ログイン後にコピー

この関数は、赤、緑、青の値の加重合計を使用して、グレースケールの強度を計算します。 Matplotlib を使用すると、グレースケール画像をロードして表示できます。

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

scikit-image

scikit-image は、画像処理に特化した Python ライブラリです。グレースケール変換用に color.rgb2gray と呼ばれる関数が提供されています。

from skimage import color
img = color.rgb2gray(mpimg.imread('image.png'))
ログイン後にコピー

追加の実装

Sebastian によって提供される関数もタスクを効果的に実行しますが、動作するのは次のとおりです。個々の RGB チャネルに依存するため、大きな画像を扱う場合は効率が低下する可能性があります。それにもかかわらず、これはグレースケール変換式の簡単な実装を示しています。

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

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