Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

MATLAB グラフィックスでのイメージの処理

イメージ データとは

基本的な MATLAB® のデータ構造は、配列であり、実数または複素数要素の集合が並べられています。配列は本来、色データや強度データが実数値で順番に並ベられた集合であるイメージの表現に適しています。(配列は複素数のイメージに適しています)。

MATLAB ワークスペースでは、ほとんどのイメージが 2 次元配列 (行列) として表現されています。この行列の各要素は、表示されたイメージの 1 ピクセルに対応します。たとえば、200 行 300 列のさまざまな色のドットからなるイメージは、200x300 の行列として格納されます。RGB のようないくつかのイメージは、3 次元配列を必要とします。ここでは、3 次元の中の最初の平面は、赤ピクセルの強度を、2 番目の平面は、緑ピクセルの強度を、3 番目の平面は、青ピクセルの強度を表しています。

この変換は、グラフィックス ファイル形式のイメージを他の行列データと同じように処理できるようにします。たとえば、通常の行列の添字付けを使って、イメージ行列から単一ピクセルを選択することができます。

I(2,15)

上記コマンドは、イメージ I の 2 行 15 列目のピクセルの値を出力します。

ここでは、種々のデータ型とイメージ タイプについて説明し、グラフィックス イメージの読み方、書き方、扱い方および表示方法、表示中でのイメージの表示プロパティおよび縦横比の変更方法、イメージの印刷方法、イメージのデータ型やグラフィックス形式の変換方法についても示します。

データ型

MATLAB は、イメージ表示の以下の 3 つの数値クラスをサポートしています。

  • 倍精度浮動小数点数 (double)

  • 16 ビット符号なし整数 (uint16)

  • 8 ビット符号なし整数 (uint8)

イメージ表示コマンドは、データが格納されている数値クラスに応じて、データ値をさまざまに解釈します。8 ビットと 16 ビット イメージには、8 ビットと 16 ビット イメージを格納する内部動作の詳細が記載されています。

既定では、ほとんどのデータがクラス double の配列を占めます。これらの配列のデータは、倍精度 (64 ビット) 浮動小数点数として保存されます。すべての MATLAB 関数および機能は、これらの配列と共に使用されます。

しかし、MATLAB 関数がサポートするグラフィックス ファイル形式のいずれかに保存されているイメージに対して、このデータ表現は常に理想的なものではありません。そのようなイメージのピクセル数は、非常に大きくなります。たとえば、1000 x 1000 のイメージは、100 万ピクセルになります。少なくとも 1 つの配列要素によって各ピクセルが表現されるため、このイメージはクラス double として保存されると、約 8MB のメモリを必要とします。

メモリ要求を減少させるために、クラス uint8uint16 の配列にイメージ データを保存することができます。これらの配列のデータは、8 ビットまたは 16 ビットの符号なし整数として保存されます。これらの配列に必要なメモリは、double 配列のデータの 1/8 または 1/4 になります。

ビット深度

MATLAB 入力関数により、サポートされているグラフィックス ファイル形式で最も一般的に使用されるビット深度 (ピクセル当たりのビット数) が読み取られます。データがメモリ内に存在する場合は、uint8uint16、または double として保存できます。サポートされている各ファイル形式に適したビット深度の詳細については、関数 imread および imwrite を参照してください。

サポートされるイメージの形式

MATLAB コマンドは、イメージに対して、種々のグラフィックス ファイル形式を読み取ったり、書き込んだり、表示します。MATLAB で生成されるイメージと同様に、いったんグラフィックス ファイル形式イメージを表示すると、それらは image オブジェクトになります。MATLAB では、以下のグラフィックス ファイル形式やその他の形式がサポートされています。

  • BMP (Microsoft® Windows® Bitmap)

  • GIF (Graphics Interchange Files)

  • HDF (Hierarchical Data Format)

  • JPEG (Joint Photographic Experts Group)

  • PCX (Paintbrush)

  • PNG (Portable Network Graphics)

  • TIFF (Tagged Image File Format)

  • XWD (X Window Dump)

これらの形式でサポートされているイメージ タイプやビット深度の詳細は、imreadimwrite を参照してください。