解説
動作環境
動作環境は以下の通りです。
構成要素 | 説明 |
---|---|
GUI | HTML(Input要素) |
内部処理 | JavaScript |
使用ライブラリ名 | 使用目的 |
---|---|
math.js | 行列計算 |
CIE DE 2000 | 色差計算(DeltaE2000) |
xy色度座標版での処理の流れ
- 二色の色度値であるxyY値を取得(htmlのfromから取得)
- 色度値をXYZ値に変換(XYZとxyYの関係はCIE1931色空間(wiki)を参照)
- XYZ値を錐体反応値に変換(CIE測色標準観察者の錐体分好感度に基づく)
- 各色覚タイプの錐体反応値へ変換※
※ Hans Brettle, Francoise Vienot, John Deutan. Mollon:Computerized simulation of color appearance for dichromats:J.Opt.Soc.Am.A, Vol.14, No.10, pp. 2647-2655 (1997) - 錐体反応値からXYZ値に逆変換
- XYZ値からL* a* b*に変換(Lab色空間(wiki))
- 各タイプのL* a* b*から色差を算出(CIE DE 2000)
- 色差を日本工業規格に基づき程度を判定
sRGB版での処理の流れ
- 二色のR値、G値およびB値を取得(htmlのfromから取得)
- sRGBをXYZ値に変換(sRGBとXYZの関係はsRGB - Wiki(英語)を参照)
- XYZ値を錐体反応値に変換(CIE測色標準観察者の錐体分好感度に基づく)
- 各色覚タイプの錐体反応値へ変換※
※ Hans Brettle, Francoise Vienot, John Deutan. Mollon:Computerized simulation of color appearance for dichromats:J.Opt.Soc.Am.A, Vol.14, No.10, pp. 2647-2655 (1997) - 錐体反応値からXYZ値に逆変換
- XYZ値からL* a* b*に変換(Lab色空間(wiki))
- 各タイプのL* a* b*から色差を算出(CIE DE 2000)
- 色差を日本工業規格に基づき程度を判定
- L* a* b* に変換する前のXYZをRGBに逆変換
- 二色のR値、G値およびB値をもとにGUIパーツの色を変更
より詳細で技術的な解説
各変換原理の詳細はこちらをご確認ください。