| Graphics | ![]() |
8-ビットと16-ビットのインデックス付きイメージ
Xのクラスが、uint8またはuint16の場合、その値は、カラーマップインデックスとして使う前に1だけオフセットを適用します。値0は、カラーマップの最初の行を、値1はカラーマップの2番目の行、等々示します。imageコマンドは、適切なオフセットを自動的に適用して、Xが、double、uint8、uint16に拘わらず同じ表示方法を使います。
image(X); colormap(map);
uint8やuint16データに対するカラーマップインデックスオフセットは、標準のグラフィックファイルフォーマットをサポートしようとします。すなわち、イメージデータを256の要素をもったカラーマップをもったインデックス型にストアします。オフセットは、よりメモリ効率の良いuint8やuint16配列を使って、MATLABの中でこの型のイメージを取り扱い、表示させることができるようにするものです。
オフセットのために、uint8やuint16のインデックスイメージをdoubleに変換するのに1を加えます。たとえば、
X64 = double(X8) + 1;
or
X64 = double(X16) + 1;
逆に、doubleのインデックス付きイメージをuint8またはuint16に変換するには、1を引きます。
X8 = uint8(X64 - 1);
or
X16 = uint16(X64 - 1);
演算の順番は、示している通りでなければなりません。これは、MATLABの数学演算が、uint8やuint16配列上で機能しないからです。
| 8-ビット、16-ビットイメージ処理 | 8-ビットと16-ビットの強度イメージ | ![]() |