关于ColorMatrix的解释性文档有哪些好的来源?

4
我想尝试使用ColorMatrix,但只能找到将图像转换为灰度的示例。即使是这样,它们也往往以一段“神奇数字”代码的形式呈现,没有解释。
有人知道如何使用ColorMatrix的“教程”吗?例如,我有兴趣将灰度图像转换为彩色图像,其中白色==透明,黑色=固体颜色,灰色像素介于两者之间。ColorMatrix可以做到这一点吗?

你的意思不是将其转换为彩色图像,而是将其转换为 alpha 蒙版。 - ChrisF
我想我将会把一张黑白[白->黑]的图片转换成一张黑白[透明->%COLOR%]的图片。因此,另一种看待它的方式是将输入图片视为一个应用于纯色的 alpha 蒙版。但输出并不是一个 alpha 蒙版。 - mackenir
1个回答

2
我不确定是否有相关文档,但是一个 ColorMatrix 可以将一个 RGBAW 值转换为另一个,所以您可以设置矩阵将输入的 RGB 值应用于输出的 Alpha 值。(W 只是为了让矩阵运算起来更方便)
好的,我认为以下矩阵可以实现您想要的效果:
[1.0  0.0  0.0  0.333  0.0]
[0.0  1.0  0.0  0.333  0.0]
[0.0  0.0  1.0  0.333  0.0]
[0.0  0.0  0.0  0.0    0.0]
[0.0  0.0  0.0  0.0    1.0]

这将保持当前RGB值不变,然后将Alpha设置为R/3 + G/3 + B/3,即RGB值的平均值。将对角线上的1.0值更改为0.0以完全删除RGB值。

如果您知道图像是灰度图,其中R == G == B,则可以将任何一个0.333(循环)替换为1.0,并将另外两个设置为0.0


谢谢!我会尝试一下。我想我应该看一下矩阵乘法的一般情况 - 已经忘记了细节 :-/. - mackenir
@mackenir - 我已经有一段时间没有愤怒地做这件事了,所以把我发布的内容当作一个起点! - ChrisF

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接