我的父亲是色盲,并且考虑到我在视觉效果很重要的游戏中工作,我一直想为屏幕截图(甚至是某种类型的着色器)编写模拟不同形式色盲的过滤器。
我见过很多参考资料但从未能够追踪算法。
任何算法都会受到赞赏。
答案 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来说,我一般都看不到这种情况。