← 返回科研导航

色盲模拟与配色检查器

色觉缺陷视角 · 配色安全体检 · 全程本地

English 简体 繁體

把图表、热图或显微照片拖到这里

或点击选择 · 可 Ctrl+V 粘贴 · 在页面任意位置松手即可

支持 PNG / JPEG / WebP / GIF 首帧 / BMP。图片只在你的浏览器里用 Canvas 解码,不会上传到任何服务器。不上传也能用下半部分的 colormap 体检。

常用 colormap 安全性体检

数据取自 matplotlib 官方 colormap 查找表,每条色带从左到右是数值由低到高。判定看的是「这种色标能不能按顺序读」:明度必须单调(否则读者无法从颜色反推数值),并且在色觉缺陷模拟后仍要保持足够的明度跨度。上半部分的严重程度滑块对这张表同样生效。

色带自上而下: 原图 红色盲 绿色盲 蓝色盲 黑白印刷

这是什么工具

这是一个在浏览器里跑的色觉缺陷模拟器与科研配色检查器。上传一张图表、热图或显微照片,它会按 Machado、Oliveira 与 Fernandes(2009)的生理模型重算每个像素,让你直接看到红色盲、绿色盲、蓝色盲(以及全色盲、黑白印刷)眼里的同一张图。约 8% 的男性与 0.5% 的女性带有某种色觉缺陷,而科研配色的惯例(红涨绿跌、红绿对比、彩虹色标)恰好大部分踩在这个人群最看不清的区域上 —— 这不只是可及性问题,也直接决定你的图有没有被审稿人和读者读对。

光看模拟图往往「觉得还好」,所以本工具把判断量化:自动从图里提取主要颜色(median-cut + Lab 空间迭代精修),逐对计算 CIEDE2000 色差,再对每种视角给出「安全 / 勉强 / 危险」的结论与具体的冲突色对;额外做一次黑白印刷检查(把颜色压成灰阶后比明度差),因为论文经常是黑白打印出来读的。下半部分把这件事推广到 colormap 上:viridis、cividis、jet、rainbow、RdYlGn 等 34 个常用色标逐个体检,告诉你哪些能放心用来表达连续量、哪些会误导读者。

功能

怎么用

  1. 把图片拖到页面上(在任意位置松手都行),或点「选择图片」,也可以直接 Ctrl+V 粘贴剪贴板里的图。
  2. 并排看六个视角:如果某个区域的两种颜色在红色盲/绿色盲那两格里看起来一样,它在真实读者眼里也会一样。拖「缺陷严重程度」滑块可以看到差异是逐步消失还是突然崩掉。
  3. 往下看「配色安全体检」:结论若判危险,卡片里会直接点名是第几号色和第几号色冲突、模拟后差多少;点色块可以把十六进制值复制走,拿去改图例。
  4. 换别的图重复一遍;如果你的问题是「该选哪个色标」,直接看最下面的 colormap 体检表,按「只看有问题」筛一遍,避开那些明度不单调的彩虹系色标。

判定是怎么算的

色觉缺陷模拟用的是 Machado、Oliveira 与 Fernandes(2009,IEEE TVCG)的生理模型:把 sRGB 转成线性 RGB,乘以该缺陷类型在给定严重程度下的 3×3 矩阵,再转回来。矩阵取论文公布的 0.0–1.0、步长 0.1 的数据,中间档线性插值;矩阵每行和恰为 1,保证白点不动、整体亮度不会被凭空改变。选它而不是 Brettel/Viénot,是因为它自带严重程度维度,模拟「色弱」不需要另造一套参数。全色盲与黑白印刷则直接用 sRGB 的相对亮度加权,等价于完全丢失色度信息。

色差用 CIEDE2000(Sharma、Wu 与 Dalal 2005 的实现口径),而不是课本里的 CIE76 欧氏距离 —— CIE76 会高估饱和色的差异,恰好在红绿蓝这几个方向上最容易骗人。判定阈值:ΔE00 < 10 判「危险」(基本等于同一个色),10–20 判「勉强」(对着图例能分,扫一眼容易混),≥ 20 判「安全」。灰阶检查另用明度差 ΔL*:< 5 危险、5–12 勉强、≥ 12 安全。

colormap 的判定看两件事:一是明度单调性(净明度变化 / 总变化量,1 表示严格单调),二是色觉缺陷模拟后的明度跨度。明度不单调的色标(jet、rainbow、hsv 这类彩虹系)会让读者无法从颜色反推数值,判危险;跨度塌得太厉害的判勉强。判定会在正常视觉与红/绿/蓝三种色觉缺陷下分别算一遍,取最差的那个作为结论。

常见问题

我的图片会被上传吗?
不会。整条链路 —— 解码、逐像素模拟、调色板提取、色差计算、导出对比图 —— 都在你自己的浏览器里完成。这个页面是纯静态的,没有任何接收文件的后端接口,你可以关掉网络再试。未发表的图、临床照片、专利前的数据都可以放心放进来。
为什么「纯红 vs 纯绿」在绿色盲下只判「勉强」?
因为纯红(L*=53)和纯绿(L*=88)的明度差了 35 个 L*,色觉缺陷者虽然分不出红绿,却能靠亮暗把两者分开,实测 ΔE00 仍有约 19.5。真正会糊成一片的是**等明度**的红与绿:例如 RGB(200,60,60) 与 RGB(110,150,60),正常视觉色差 56.9,绿色盲下只剩 5.7 —— 判危险的就是这种。所以工具报「勉强」时别急着放心,请看一眼卡片里列出的具体色对,那才是真正要改的地方。
为什么 turbo 也被判危险?它不是专门用来替代 jet 的吗?
turbo 确实修掉了 jet 的几条硬伤(不出现难看的深蓝带、色彩分辨更均匀),但它依然是一条彩虹色标,明度不单调:实测 L* 从 12 升到 91 又掉回 24。明度非单调意味着同一个亮度对应两个不同的数值,读者无法从颜色反推数值大小,也经不起黑白印刷。Crameri 等人 2020 年在 Nature Communications 上对科学配色的批评里就明确把 turbo 归入「不该再用」的一类。要表达连续量,viridis、cividis、magma、inferno、plasma 这些明度单调的序列色标才是稳妥选择。
ΔE00 的阈值 10 / 20 是怎么来的?
ΔE00 ≈ 2.3 是 CIE 推荐的人眼「刚好看得出不同」的门槛,但「看得出不同」离「能一眼叫出名字、能对着图例快速匹配」差得远。分类配色在真实图表里的经验门槛要高一档:低于 10 时两种颜色在多数人眼里就是同一个色;10–20 之间要来回对照图例才能确认;20 以上才能扫一眼就分。灰阶的 5 / 12 是同样的道理,换成明度差来量。这些阈值写在 cvdcore.js?v=21411da0 顶部,工具里也是可追溯的,不是拍脑袋。
模拟结果能当作诊断依据吗?
不能。这是一个配色自查工具,用的是公开的生理模型对「典型」色觉缺陷做的近似,目的是让你看见自己的图在别人眼里可能变成什么样;真实色觉缺陷的类型、程度与个体差异远比模型复杂,也没有任何一种显示器能做到光谱级准确。要判断具体某个人的色觉状态,请找眼科或视光专业人士。

站内其他工具

纯浏览器本地处理 · 不上传 · 免费 · 支持中/繁/英