Machado色覚シミュレーター
インプットのカラーセット | |||
---|---|---|---|
|
|
|
|
色 | オリジナル | グレースケール | P型(弱度) | P型(強度) | D型(弱度) | D型(強度) | T型 | A型 |
---|
このシミュレーションでは、色の表現を RGB(Red-Green-Blue)空間から LMS(Long-Medium-Short:錐体応答)空間へ変換し、色覚異常を模擬した変換を行った後に、再びRGBに変換しています。LMS空間は、ヒトの網膜にある3種類の錐体細胞(L:長波長、M:中波長、S:短波長)に対応しています。変換手順は以下の通りです。
- RGB → LMS 変換
- LMS で色覚異常変換
- LMS → RGB 逆変換
- 表示用にHEX色へ変換
以下では各種変換について書いておきます。
RGB → LMS 変換行列
RGBベクトル [R, G, B] を LMSベクトル [L, M, S] に変換するには、次の行列を使います:
$$ \begin{bmatrix} L \\ M \\ S \end{bmatrix} = \begin{bmatrix} 0.31399022 & 0.63951294 & 0.04649755 \\ 0.15537241 & 0.75789446 & 0.08670142 \\ 0.01775239 & 0.10944209 & 0.87256922 \end{bmatrix} \cdot \begin{bmatrix} R \\ G \\ B \end{bmatrix} $$LMS → RGB 変換行列(逆変換)
$$ \begin{bmatrix} R \\ G \\ B \end{bmatrix} = \begin{bmatrix} 5.47221206 & -4.6419601 & 0.16963708 \\ -1.1252419 & 2.29317094 & -0.1678952 \\ 0.02980165 & -0.19318073 & 1.16364789 \end{bmatrix} \cdot \begin{bmatrix} L \\ M \\ S \end{bmatrix} $$色覚異常タイプ別の変換例(LMS空間)
色覚タイプ | 説明 | 数式 |
---|---|---|
P型強度(Protanopia) | 赤に対する感受性の欠如 | $L' = 0 \cdot L + 2.02344 \cdot M - 2.52581 \cdot S$ $M' = M$ $S' = S$ |
P型弱度(Protanomaly) | 赤に対する感受性の欠如 | $L' = 0.6 * L + 0.4 * M$ $M' = M$ $S' = S$ |
D型強度(Deuteranopia) | 緑に対する感受性の欠如 | $L' = L$ $M' = 0.494207 * L + 0 * M + 1.24827 * S $ $S' = S$ |
D型弱度(Deuteranomaly) | 緑に対する感受性の欠如 | $L' = L$ $M' = 0.7 * M + 0.3 * L $ $S' = S$ |
T型色覚異常 Tritanopia(強度) | 青に対する感受性の欠如 | $L' = L$ $M' = M$ $S' = 1.0 * S$ |
A型:完全色覚欠如(Achromatopsia) | 色に対する感受性の欠如 | $L' = M' = S' = (L + M + S) / 3$ |
実はT型は変換がわからないのでそのままにしている。