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-ビットの強度イメージ | ![]() |