用于不同形式色盲的RGB滤镜

时间:2008-09-17 20:15:14

标签: graphics colors shader blindness

我的父亲是色盲,并且考虑到我在视觉效果很重要的游戏中工作,我一直想为屏幕截图(甚至是某种类型的着色器)编写模拟不同形式色盲的过滤器。

我见过很多参考资料但从未能够追踪算法。

任何算法都会受到赞赏。

8 个答案:

答案 0 :(得分:9)

我的谷歌搜索提出了这个,这看起来正是你正在寻找的。通过将每个R,G,B值乘以3个不同的百分比并将它们加在一起来模拟八种不同版本的色盲。

http://www.colorjack.com/labs/colormatrix/(死链接)

Working Archived Link  (工作链接)

答案 1 :(得分:4)

我遇到了Color Oracle并认为这可能会有所帮助。这是简短的描述:

  

Color Oracle是适用于Windows,Mac和Linux的色盲模拟器。通过实时向您展示具有常见色觉障碍的人会看到什么,可以避免设计色盲的猜测。

答案 2 :(得分:2)

GIMP 查看 - >中有一个色盲过滤器显示过滤器 - > 色彩缺陷视觉

答案 3 :(得分:1)

无法帮助你学习算法,但下面的文章让人大开眼界(请原谅双关语):http://critiquewall.com/2007/12/10/blindness

啊,实际上,http://www.vischeck.com/很有用。

答案 4 :(得分:1)

Google提出了许多链接,也许有一个提供源或算法描述: http://www.google.com/search?hl=en&q=simulating+color+blindness&aq=f&oq=

编辑:感谢Torlack指出每个人都知道Google。但有效使用Google需要使用正确的搜索字词,而良好的搜索字词并不总是很明显。根据返回的页面标题和几个链接来判断,这个特定的搜索似乎非常相关。对于downvote,我认为这不是一个糟糕的答案。

答案 5 :(得分:0)

colorjack链接有很好的信息,但我使用http://colorfilter.wickline.org/。它可以检查整个页面:图像,CSS颜色和所有。

答案 6 :(得分:0)

我在color blindness page上详细解释了这些转换和代码。本质上,对于每种类型的色盲,您首先将RGB值线性化,然后应用转换矩阵(这是我单独列出的5个矩阵的乘积),然后裁剪为[0,1]并反线性化为sRGB。 / p>

例如,对于弱视,基质乘积为

 0.33066007 0.66933993 0
 0.33066007 0.66933993 0
-0.02785538 0.02785538 1   

这是以下各项的组合:rgb-> XYZ-> LMS->畸形矫正-> XYZ-> rgb。

您可以下载my R code来说明这些计算。

答案 7 :(得分:0)

如果您使用的是Chrome浏览器,则可以使用Google的色彩增强器扩展程序,但对于Ubuntu来说,我一般都看不到这种情况。