ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

rgb2gray

RGB イメージまたはカラーマップをグレースケールに変換

構文

I = rgb2gray(RGB)
newmap = rgb2gray(map)

説明

I = rgb2gray(RGB) は、トゥルーカラー イメージ RGB をグレースケール強度イメージ I に変換します。関数 rgb2gray は、輝度を保持したまま色相情報と彩度情報を削除することによって、RGB イメージをグレースケールに変換します。Parallel Computing Toolbox™ がインストールされている場合は、この rgb2gray による変換を GPU で実行できます。

newmap = rgb2gray(map) は、map に対応するグレースケール カラーマップを返します。

すべて折りたたむ

RGB イメージを読み取って表示し、グレースケールに変換します。

サンプル ファイル peppers.png を読み取り、RGB イメージを表示します。

RGB = imread('peppers.png');
imshow(RGB)

RGB イメージをグレースケール イメージに変換して表示します。

I = rgb2gray(RGB);
figure
imshow(I)

RGB カラーマップを使用したインデックス付きイメージを読み取ります。その後、カラーマップをグレースケールに変換します。

サンプル ファイル corn.tif を読み取ります。このファイルは RGB カラーマップを使用したインデックス付きイメージです。

[X,map] = imread('corn.tif');

イメージを表示します。

imshow(X,map)

RGB カラーマップをグレースケール カラーマップに変換してイメージを再表示します。

newmap = rgb2gray(map);
imshow(X,newmap)

入力引数

すべて折りたたむ

トゥルーカラー イメージ。3 次元数値配列として指定します。

Parallel Computing Toolbox がインストールされている場合は、RGB を gpuArray にすることもできます。

データ型: single | double | uint8 | uint16

カラーマップ。m 行 3 列の数値配列として指定します。

Parallel Computing Toolbox がインストールされている場合は、map を gpuArray にすることもできます。

データ型: double

出力引数

すべて折りたたむ

グレースケール イメージ。数値配列として返されます。

Parallel Computing Toolbox がインストールされている場合は、I を gpuArray にすることもできます。

グレースケール カラーマップ。m 行 3 列の数値配列として返されます。

Parallel Computing Toolbox がインストールされている場合は、newmap を gpuArray にすることもできます。

ヒント

  • rgb2gray では MATLAB® Coder™ を使用した C コードの生成がサポートされています。

アルゴリズム

rgb2gray は、R 成分、G 成分、B 成分の重み付き和を計算することによって、RGB 値をグレースケール値に変換します。

0.2989 * R + 0.5870 * G + 0.1140 * B 

これらは Y 成分を計算するために関数 rgb2ntsc で使用される重みと同じす。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

この情報は役に立ちましたか?