Python 如何变换RGB阵列以模拟色盲

Python 如何变换RGB阵列以模拟色盲,python,math,Python,Math,到目前为止,我的代码已经有了图像的数组,我正在努力学习如何用rgb值来变换图像,以模拟一个Deutranope人会看到的图像 for x in array: for y in x: if y[1] > 200: y[1] -= 60 elif 100 < y[1] < 200: y[1] -= 30 elif 15 < y[1]<100:

到目前为止,我的代码已经有了图像的数组,我正在努力学习如何用rgb值来变换图像,以模拟一个Deutranope人会看到的图像

for x in array:
    for y in x:
        if y[1] > 200:
            y[1] -= 60

        elif 100 < y[1] < 200:
            y[1] -= 30

        elif 15 < y[1]<100:
            y[1] -= 15
阵列中x的
:
对于x中的y:
如果y[1]>200:
y[1]=60
elif 100elif 15
我发现了一个解决方案——这将是移植到Python的一个很好的起点


另一个选择是使用转换颜色的查找表;还有一些附加说明。

您是在搜索公式还是在实现已有公式时遇到问题?在后一种情况下,在问题中添加公式(或者,如果必要的话,链接到它)。有并没有提到氘神人会看到什么?但是,如果我不得不建议进行更改,我想最好只将值缩放到较小的范围(例如0到255中的0到150),而不是减去硬编码的值。如果你问我,代码相当长,而且很复杂(实际上我自己把它移植到Python上,但它并不是从GooGo中起作用的,所以它不是简单的)。这里还有许可证问题;在这里张贴代码将有效地使它在这样的条件下恢复(CC-BY SA)。从麻省理工学院,我无权这么做。许可证的颁发对我来说似乎是一个很好的理由。你得到我的支持票。