イメージ タイプ間の変換
ツールボックスには、1 つのタイプから別のタイプにイメージを変換するための多くの関数が含まれています。これらを次の表に示します。たとえば、インデックス付きイメージとして格納しているカラー イメージをフィルター処理するには、まずトゥルーカラー形式に変換しなければなりません。トゥルーカラー イメージにフィルターを適用すると、イメージ内の強度値が適切に MATLAB® によってフィルター処理されます。また、インデックス付きイメージにフィルターを適用しようとすると、インデックス付きイメージ行列のインデックスに MATLAB によって単にフィルターが適用されるため、結果は意味のないものになる可能性があります。
MATLAB の構文を使うと、特定の変換を実行できます。たとえば、グレースケール イメージをトゥルーカラー形式に変換するには、次のように、3 番目の次元に沿って、元の行列の 3 つのコピーを連結します。
RGB = cat(3,I,I,I);
結果のトゥルーカラー イメージは、赤、緑、および青の平面が同じ行列になります。このため、イメージはグレーの階調として表示されます。
これらのイメージ タイプ変換関数に加えて、実行する演算の一部として異なるイメージ タイプを返す関数もあります。たとえば、関心領域関数はバイナリ イメージを返します。このイメージを使用すると、イメージをマスクしてフィルター処理などの操作を行うことができます。
メモ
イメージを 1 つの形式から別の形式に変換すると、結果のイメージが元のイメージとは異なって表示される場合があります。たとえば、インデックス付きカラー イメージをグレースケール イメージに変換した場合、結果のイメージは色付きではなくグレーの階調で表示されます。
関数 | 説明 |
---|---|
demosaic | Bayer パターン エンコード イメージをトゥルーカラー (RGB) イメージに変換します。 |
dither | ディザリングを使用してグレースケール イメージをバイナリ イメージに変換するか、トゥルーカラー イメージをインデックス付きイメージに変換します。 |
gray2ind | グレースケール イメージをインデックス付きイメージに変換します。 |
grayslice | マルチレベルしきい値法を使用してグレースケール イメージをインデックス付きイメージに変換します。 |
im2gray | RGB イメージをグレースケール イメージに変換します。 関数 |
ind2gray | インデックス付きイメージをグレースケール イメージに変換します。 |
ind2rgb | インデックス付きイメージをトゥルーカラー イメージに変換します。 |
mat2gray | データをスケーリングして、データ行列をグレースケール イメージに変換します。 |
rgb2gray | トゥルーカラー イメージをグレースケール イメージに変換します。 関数 |
rgb2ind | トゥルーカラー イメージをインデックス付きイメージに変換します。 |
一部のイメージは、RGB 色空間以外の色空間 (HSV 色空間など) を使用します。そのようなイメージを扱うには、まずイメージを RGB 色空間に変換し、その後でイメージを処理して、元の色空間に戻します。色空間変換ルーチンの詳細については、異なる色空間間での変換についてを参照してください。