Visionライブラリは、グレースケール、カラー、複素画像の3つのタイプを処理することが可能です。Visionは3つのすべての画像タイプをサポートしていますが、特定の画像タイプに行う特定の操作には実行不可能な場合があります。たとえば、複素画像には論理演算子ANDを適用できません。

以下の表は、グレースケール、カラー、複素画像で使用される各ピクセルに対するバイト数を示します。同様の空間分解能があると仮定した場合、カラー画像は8ビットグレースケール画像の4倍のメモリ領域を占め、複素画像は8ビットグレースケール画像の8倍のメモリ領域を占めます。

画像タイプ ピクセルデータ当たりのバイト数
8ビット (符号なし) 整数グレースケール

(1バイトまたは8ビット)

グレースケール強度 : 8ビット

16ビット (符号なし) 整数グレースケール

(2バイトまたは16ビット)

グレースケール強度 : 16ビット

16ビット (符号付き) 整数グレースケール

(2バイトまたは16ビット)

グレースケール強度 : 16ビット

32ビット浮動小数点数グレースケール

(4バイトまたは32ビット)

グレースケール強度 : 32ビット

32ビットRGBカラー

(4バイトまたは32ビット)

アルファ値(未使用)、赤の輝度、緑の輝度、青の輝度の8ビット

64ビット (符号なし) RGBカラー

(8バイトまたは64ビット)

アルファ値 (未使用)、緑の輝度、赤の輝度、青の輝度

64ビット複素カラー

(8バイトまたは64ビット)

実部 : 32ビット浮動、虚部 : 32ビット

グレースケール画像

グレースケール画像は単一のピクセル平面で構成されています。各ピクセルは、以下の単数の1つを使用してエンコードされます。

  • 0から255までのグレースケール値を表す8ビット符号なし整数
  • 0~65535の範囲内のグレースケール値を表す16ビット符号なし整数
  • -32768~32767の範囲内のグレースケール値を表す16ビット符号付き整数
  • – ∞~∞の範囲内のグレースケール値を表す4バイトでエンコードされた単精度浮動小数点数

カラー画像

カラー画像は、赤、緑、青(RGB)画像、または色相、彩度、明度(HSL)画像のどちらかでメモリにエンコードされます。カラー画像のピクセルは4つの値の合成物です。RGB画像は、赤、緑、青の平面に対してそれぞれ8ビットを使用してカラー情報を保存します。HSL画像は、色相、彩度、明度に対してそれぞれ8ビットを使用してカラー情報を保存します。RGB U64画像は、赤、緑、青の平面に対してそれぞれ16ビットを使用してカラー情報を保存します。RGBおよびHSLカラーモデルでは、追加の8ビット値は使用されません。この表現は、4 x 8ビットまたは32ビットエンコードとして知られています。RGB U64カラーモデルでは、追加の16ビット値は使用されません。この表現は、4 x 16ビットまたは64ビットエンコードとして知られています。

アルファ面(未使用)
赤または色相の平面
緑または彩度の平面
青または明度の平面

複素画像

複素画像にはグレースケール画像の周波数情報が含まれています。高速フーリエ変換(FFT)をグレースケール画像に適用することで、複素画像を作成できます。グレースケール画像を複素画像に変換した後、周波数領域操作を画像上で実行することができます。

複素画像の各ピクセルは、複素ピクセルの実部および虚部を表す2つの単精度浮動小数点値としてエンコードされます。複素画像から実部、虚部、振幅、位相の4つの成分を抽出することができます。