Main Content

cmap2gray

RGB カラーマップをグレースケール カラーマップに変換

R2020b 以降

    説明

    newmap = cmap2gray(map) は RGB カラーマップ map を等価のグレースケール カラーマップ newmap に変換します。

    すべて折りたたむ

    カラーマップを含むインデックス付きイメージをワークスペースに読み込みます。load コマンドはイメージ データとカラーマップを含む構造体を返します。イメージを表示します。

    indImage = load('clown.mat');
    figure
    imshow(indImage.X,indImage.map)

    イメージから取得した RGB カラーマップをグレースケール カラーマップに変換します。

    newmap = cmap2gray(indImage.map);

    グレースケール カラーマップでイメージを表示します。

    figure;
    imshow(indImage.X,newmap)

    入力引数

    すべて折りたたむ

    RGB カラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として指定します。map の各行は、カラーマップの各色を構成する赤、緑、青の成分を指定する RGB 3 成分です。

    Parallel Computing Toolbox™ がインストールされている場合は、mapgpuArray オブジェクトにすることもできます。

    データ型: double

    出力引数

    すべて折りたたむ

    グレースケール カラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として返されます。newmap の 3 つの列が同一であるため、各行は単一の強度値を指定します。

    Parallel Computing Toolbox がインストールされている場合は、newmapgpuArray オブジェクトにすることもできます。

    データ型: double

    アルゴリズム

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

    0.298936021293775 * R + 0.587043074451121 * G + 114020904255103 * B 
    

    関数 cmap2gray のグレースケール値の計算に使用する係数は、小数点以下 3 桁に丸めてから Rec.ITU-R BT.601-7 で輝度 (E'y) を計算する場合に使用する係数と同一です。Rec.ITU-R BT.601-7 は次の式を使用して E'y を計算します。

    0.299 * R + 0.587 * G + 0.114 * B
    

    拡張機能

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

    バージョン履歴

    R2020b で導入

    参考

    | | | (Image Processing Toolbox)