需要 GPUImageColorMatrixFilter 的文档。我在哪里可以找到有关矩阵含义的文档?

StC*_*ero 1 ios gpuimage

我想使用 GPUImageColorMatrixFilter 实现带通滤波器。基本上,蓝色将等于 floor(blue - (k*red)) 并且红色和绿色最终都为零。我在哪里可以找到说明矩阵的列和行的含义的文档?

Gab*_*lla 5

我的直觉表明 4x4 矩阵遵循标准的 RGBA 顺序,并通过示例(参见例如GPUImageSepiaFilter)判断它看起来我是对的。

例如,这是身份 GPUMatrix4x4

  R G B A
| 1 0 0 0 |  red
| 0 1 0 0 |  green
| 0 0 1 0 |  blue
| 0 0 0 1 |  alpha
Run Code Online (Sandbox Code Playgroud)

让我们为每个系数命名

  R G B A
| a b c d |  red
| e f g h |  green
| i j k l |  blue
| m n o p |  alpha
Run Code Online (Sandbox Code Playgroud)

将矩阵应用于 RGBA 颜色将产生以下 R'G'B'A' 颜色,其中分量计算为

R' = a*R + b*G + c*B + d*A
G' = e*R + f*G + g*B + h*A
B' = i*R + j*G + k*B + l*A
A' = m*R + n*G + o*B + p*A
Run Code Online (Sandbox Code Playgroud)

这只不过是以下矩阵乘法

| a b c d |   |R|   |R'|
| e f g h | x |G| = |G'|  
| i j k l |   |B|   |B'|
| m n o p |   |A|   |A'|
Run Code Online (Sandbox Code Playgroud)