Main Content

イメージ タイプ間の変換

ツールボックスには、1 つのタイプから別のタイプにイメージを変換するための多くの関数が含まれています。これらを次の表に示します。たとえば、インデックス付きイメージとして格納しているカラー イメージをフィルター処理するには、まずトゥルーカラー形式に変換しなければなりません。トゥルーカラー イメージにフィルターを適用すると、イメージ内の強度値が適切に MATLAB® によってフィルター処理されます。また、インデックス付きイメージにフィルターを適用しようとすると、インデックス付きイメージ行列のインデックスに MATLAB によって単にフィルターが適用されるため、結果は意味のないものになる可能性があります。

MATLAB の構文を使うと、特定の変換を実行できます。たとえば、グレースケール イメージをトゥルーカラー形式に変換するには、次のように、3 番目の次元に沿って、元の行列の 3 つのコピーを連結します。

RGB = cat(3,I,I,I);

結果のトゥルーカラー イメージは、赤、緑、および青の平面が同じ行列になります。このため、イメージはグレーの階調として表示されます。

これらのイメージ タイプ変換関数に加えて、実行する演算の一部として異なるイメージ タイプを返す関数もあります。たとえば、関心領域関数はバイナリ イメージを返します。このイメージを使用すると、イメージをマスクしてフィルター処理などの操作を行うことができます。

メモ

イメージを 1 つの形式から別の形式に変換すると、結果のイメージが元のイメージとは異なって表示される場合があります。たとえば、インデックス付きカラー イメージをグレースケール イメージに変換した場合、結果のイメージは色付きではなくグレーの階調で表示されます。

関数

説明

demosaicBayer パターン エンコード イメージをトゥルーカラー (RGB) イメージに変換します。
dither

ディザリングを使用してグレースケール イメージをバイナリ イメージに変換するか、トゥルーカラー イメージをインデックス付きイメージに変換します。

gray2ind

グレースケール イメージをインデックス付きイメージに変換します。

grayslice

マルチレベルしきい値法を使用してグレースケール イメージをインデックス付きイメージに変換します。

im2gray

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

関数 im2gray は、単一チャネルのグレースケール入力イメージも受け入れ、それを変更せずに返します。グレースケール イメージと RGB イメージの両方を受け入れる前処理アルゴリズムが必要な場合は、rgb2gray ではなく、この関数を使用してください。

ind2gray

インデックス付きイメージをグレースケール イメージに変換します。

ind2rgb

インデックス付きイメージをトゥルーカラー イメージに変換します。

mat2gray

データをスケーリングして、データ行列をグレースケール イメージに変換します。

rgb2gray

トゥルーカラー イメージをグレースケール イメージに変換します。

関数 im2rgb と異なり、関数 rgb2gray は、入力イメージに 3 つのカラー チャネルがあることを必須とします。

rgb2ind

トゥルーカラー イメージをインデックス付きイメージに変換します。

一部のイメージは、RGB 色空間以外の色空間 (HSV 色空間など) を使用します。そのようなイメージを扱うには、まずイメージを RGB 色空間に変換し、その後でイメージを処理して、元の色空間に戻します。色空間変換ルーチンの詳細については、異なる色空間間での変換についてを参照してください。

関連するトピック