色盲模拟器 — Brettel 1997 算法 + sRGB 正确解码(8 种 CVD) | Vectobox
免费色盲模拟器,使用同行评议的 Brettel 1997 算法 + 正确的 IEC 61966-2-1 sRGB gamma 解码。可模拟红色盲、绿色盲、蓝色盲、全色盲及异常三色觉严重度。100% 在浏览器内运行,零上传。
100% 在浏览器内运行。你的图片和颜色不会离开当前页面 —— 无上传、无追踪、无网络请求。
隐私
所有转换都在浏览器内执行:图片解码、gamma 转换、LMS 投影、严重度插值。页面加载后没有任何网络请求,没有像素的统计追踪,没有颜色的遥测上报。
默认算法:Brettel-Viénot-Mollon 1997
默认管线实现自 Brettel、Viénot、Mollon(1997)"Computerized simulation of color appearance for dichromats"(JOSA-A 14(10), 2647-2655, DOI 10.1364/JOSAA.14.002647)。对每个像素:先按 IEC 61966-2-1 把 sRGB 解码为线性光,再通过 Smith-Pokorny 基(Viénot 1999 规范化)将线性 RGB 转到 LMS,按分离平面符号选择两个混淆半平面之一进行投影,最后重新编码回 sRGB。
为什么 sRGB gamma 解码至关重要
大多数色盲模拟工具会跳过 sRGB → 线性的 gamma 步骤(或处理不一致)。IEC 61966-2-1 的分段函数(阈值 0.04045)是非线性的:跳过它会导致中段颜色偏暗 1–2 档。本工具在解码方向使用 256 项 Float64 查表,在编码方向使用精确的反函数。
为什么 Viénot 1999 在 tritan 上失效
Viénot、Brettel、Mollon(1999)证明 protan 与 deutan 的混淆半平面在 LMS 中近似共面,因此可用单个 3×3 矩阵近似投影。但 tritan 的两个混淆半平面相距较远,套用任何单矩阵都会在黄-蓝轴产生约 15 ΔE 的误差。当你选择 Viénot + tritan 时,本工具会显示警告并自动回退到 Brettel。
Machado 2009:生理学基础严重度矩阵
Machado、Oliveira、Fernandes(2009)"A Physiologically-based Model for Simulation of Color Vision Deficiency"(IEEE TVCG 15(6), DOI 10.1109/TVCG.2009.113)为每种 CVD 类型预制了 11 个 3×3 线性 RGB 矩阵,对应严重度 0.0 到 1.0。本工具按论文要求在线性 RGB 空间在相邻矩阵之间插值,给出与 Brettel 几何投影并行的物理基础替代方案。
无障碍设计检查清单
用图片并排预览检查最常见的三种 CVD(deuteranomaly / protanomaly / tritanomaly)下你的设计。用调色板模式的 ΔE 表确认每对颜色在各 CVD 下 ΔE ≥ 5;混淆警告会自动标出失败的颜色对。
常见问题
- 本模拟器使用什么算法?
- 默认算法是 Brettel、Viénot、Mollon(1997),这是同行评议的色盲模拟经典论文(JOSA-A 14(10), DOI 10.1364/JOSAA.14.002647)。两半平面 LMS 投影能正确处理三类 CVD。同时也提供 Viénot 1999 单矩阵与 Machado 2009 物理严重度矩阵作为对比。
- 为什么 sRGB gamma 解码至关重要?
- sRGB 是非线性编码:像素值 128 对应约 22% 的线性光,而不是 50%。跳过 IEC 61966-2-1 解码(色盲模拟器常见 bug)会使中段颜色偏暗 1–2 档,并扭曲 LMS 投影。本工具用预计算的 Float64 查表做解码,用标准分段函数做编码。
- 为什么 tritan 时禁用 Viénot 1999?
- Viénot 1999 单矩阵简化依赖两个混淆半平面在 LMS 中近似共面,这一条只对 protan/deutan 成立。tritan 的半平面相距较远,单矩阵会在黄-蓝轴产生约 15 ΔE 误差。本工具会显示警告并回退到 Brettel 1997。
- 严重度滑块是什么?
- 异常三色觉者(protanomaly / deuteranomaly / tritanomaly / achromatomaly)的锥细胞光谱偏移但仍有功能。严重度滑块(0–100%)在原色与完全色盲结果之间插值。Brettel 和 Viénot 在线性 RGB 空间插值(线性投影下与 LMS 等价),Machado 在相邻发布的严重度矩阵之间插值。
- 我的图片会被上传到任何地方吗?
- 不会。图片解码、颜色转换、投影、严重度插值、PNG 下载全部在你的浏览器内完成。没有上传,没有服务端请求,没有像素遥测。页面加载完成后可完全离线使用。
- 模拟有多准确?
- 在标准真值点上,输出与 Color Oracle 桌面应用和 DaltonLens 在线模拟器的差异在几个 ΔE 之内(例如纯红在 deuteranopia 下 → 约 #9C7700)。所用矩阵常数(投影矩阵、anchor plane)来源于 MIT 协议的 libDaltonLens C 参考实现和 daltonlens-python 实现,均为权威数据。
- 混淆警告是什么意思?
- 在调色板模式下,表格列出每个调色板颜色及其模拟值。若任意两个模拟色 ΔE(CIE76 Lab 距离)< 5,本工具会将其标为混淆风险 —— 在所选 CVD 下这两色将难以区分。这是调色板无障碍设计的核心检查项。
相关工具
颜色转换
在 HEX、RGB、HSL、HWB、OKLCH 之间互相转换,内置 WCAG 对比度检查和 OKLCH 色阶生成,全部在浏览器本地完成。
图片取色
隐私优先的图片取色器:从图片中提取像素颜色并自动生成调色板,支持 K-means / 中位切分 / 频率直方图三种算法,内置 WCAG 对比度检查与色盲模拟,完全在浏览器内运行。
对比度检查器
浏览器端运行的无障碍对比度检查器,一页同时给出 WCAG 2.2 比值与 APCA Lc(WCAG 3 草案)两套答案,标记 WCAG 2 误判的约 20% 颜色对;内置 APCA 字号-字重查找表、6 组对照样例和沿亮度轴反向调整。颜色对不上传,零追踪。

