ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

CCM中将饱和度设置为0,是怎么将图片变成黑白的?

2026/8/6 4:44:57 拓冰建站 浏览量
CCM中将饱和度设置为0,是怎么将图片变成黑白的? 使图片变成黑白(灰色)的,就是让每个像素点的RGB值相等,即R=G=B。CCM(Color Correction Matrix,色彩校正矩阵)是一个 3×3 的线性变换矩阵,将输入 RGB 映射到输出 RGB:$\begin{bmatrix}R_{out}\G_{out}\B_{out}\end{bmatrix}=M⋅\begin{bmatrix}R_{in}\G_{in}\B_{in}\end{bmatrix}$饱和度调节的数学原理饱和度调节的本质是在单位矩阵(保持原色)和亮度矩阵(完全去色)之间做插值。定义亮度权重(符合人眼感知的 ITU-R BT.601 标准):$L_r=0.299,L_g=0.587,L_b=0.114$饱和度为 1(不变) 时,矩阵为单位矩阵:$I=\begin{bmatrix}1 0 0 \0 1 0 \0 0 1\end{bmatrix}$饱和度为 0(黑白) 时,矩阵退化为亮度矩阵:$M_{luma}=\begin{bmatrix}L_r L_g L_b \L_r L_g L_b \L_r L_g L_b\end{bmatrix}=\begin{bmatrix}0.299 0.587 0.114 \0.299 0.587 0.114 \0.299 0.587 0.114\end{bmatrix}$任意饱和度 s 时,做线性插值:$$\begin{aligned}M(s)= s\cdot I + (1-s)\cdot M_{\text{luma}} \= s\cdot\begin{bmatrix}