Fig1. RGB色空間
Fig2. XYZ色空間
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります。
とするためのスケーリング行列をSとします。
とするためのスケーリング行列をSとします。
、
、
に基づく三色表色系です(2°視野 XYZ表色系ともいいます)。
Fig3. YUV色空間
とするためのスケーリング行列をS 、平行移動行列をTとします。
YUV色空間への変換行列をMとすると、以下の通りとなります。
ここで、上式を斉次座標を用いて表します。
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります。
とするためのスケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
、
、
とするためのスケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
Fig4. YIQ色空間
とするためのスケーリング行列をS 、平行移動行列をTとします
YIQ色空間への変換行列をMとすると、以下の通りとなります。
ここで、上式を斉次座標を用いて表します。
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります。
とするためのスケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
、
、
とするためのスケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
Fig5. I1I2I3色空間
とするための平行移動行列をT とします。
I1I2I3色空間への変換行列をMとすると、以下の通りとなります。
ここで、上式を斉次座標を用いて表します。
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります。
とするための平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
とするための平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
Fig6. HSV(Smithの六角錐モデル)色空間
のとき、
に
を加えます。
のとき
不定となります。
ただし、本ライブラリでは、
不定の場合、
とします。
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
のとき
のとき
のとき
のとき
のとき
のとき
、
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
以後の計算は、スケーリングがない場合と同様です。
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります
Fig7. HSV(Jobloveらの双六角錐モデル)色空間
は、Smithの六角錐モデルと同定義です。
のとき、
に
を加えます。
のとき
不定となります。
不定の場合、
とします。
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
S=0のとき、
、
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
以後の計算は、スケーリングがない場合と同様です。
変換の画素タイプがDOUBLE -> DOUBLEの場合は、
変換の画素タイプがUC8 -> UC8の場合は、
となります
Fig8. L*a*b*色空間
※CIEが修正式を勧告しています。
関数
は、以下の通りです。
、
も同様です。
、
、
は、対象と同一照明下の標準白色に対する三刺激値です。 照明の種類毎に指定する必要となります。 ただし、本ライブラリでは照明の種類が特定できないため、
と定義します。
となるため、一部の計算を省略可能となります。
関数
は、以下の通りです。
、
も同様です。
、
、
は、対象と同一照明下の標準白色に対する三刺激値です。 照明の種類毎に指定する必要があります。 ただし、本ライブラリでは照明の種類が特定できないため、
と定義します。
とするためのスケーリング行列をS 、平行移動行列をTとします。 変換後の L*a*b* 色空間を
とします。
ここで、上式を斉次座標を用いて表します。
ここで、
、
、
は以下の通りです。
求められた
、
、
より、
、
、
を求めます。
、
、
は、対象と同一照明下の標準白色に対する三刺激値です。 照明の種類毎に指定する必要があります。 ただし、本ライブラリでは照明の種類が特定できないため、
と定義します。
、
、
となるようにスケーリング処理をします。 変換後の L*a*b* 色空間を
とします。 ここで、スケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
以後の計算は、スケーリングなし、オフセットなしの場合と同様です。
とします。 なお、変換には fnFIE_img_copy() を使用しています。
変換の画素タイプがDOUBLE -> DOUBLE の場合は、
変換の画素タイプが UC8 -> UC8 の場合は、
となります
とします。 ここで、スケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
とします。 ここで、スケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
Fig9. YC1C2色空間
Fig10. HSV(FAST独自仕様)色空間
求められた
より、
が求められます。
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
、
となるようにスケーリング処理をします。 変換後のHSV色空間を(H',S',V')とします。 ここで、スケーリング行列を SCALE とします。
以後の計算は、スケーリングなしと同様です。
変換の画素タイプが DOUBLE -> DOUBLE の場合は、
変換の画素タイプが UC8 -> UC8 の場合は、
となります
ただし、
ならば 
ただし、
ならば 
RGB -> L*a*b* 、L*a*b* -> RGB 共に、画素タイプがUC8 -> UC8の変換では、数値テーブルを利用します。
変換後の L*a*b* 色空間を
とします。 ここで、スケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
、
、
となるようにスケーリング処理をします。 変換後の L*a*b* 色空間を
とします。 ここで、スケーリング行列をS、平行移動行列をTとします。
ここで、上式を斉次座標を用いて表します。
とします。 なお、DOUBLE -> DOUBLE 、UC8 -> UC8 の同一の画素タイプへの変換には、 fnFIE_img_copy() を使用しています。