产品中心
联系我们

销售热线:0755-28441200 

销售热线:0755-89368951 

传真:0755-28441200


新闻中心
ColorMatrix(颜色矩阵)简介
发布日期:【2026-05-15 15:04】 来源:【未知】 作者:【admin】 浏览次数【】次 【打印】【返回
      ColorMatrix(颜色矩阵)简介
 
ColorMatrix(颜色矩阵)​ 是图像处理和图形学中用于批量调整颜色的数学工具。它通过一个 4×5 或 5×5 的矩阵,对图片每个像素的 R(红)、G(绿)、B(蓝)、A(透明度)通道进行线性变换,从而高效实现去色、变色、滤镜等效果。
核心原理:矩阵乘法
ColorMatrix 的本质是矩阵乘法。它将原色值 [R, G, B, A]乘以一个变换矩阵,生成新色值 [R', G', B', A']。
以常见的 4×5 矩阵为例,新颜色的计算公式如下(a~t为矩阵系数):
R'​ = a×R + b×G + c×B + d×A + e
G'​ = f×R + g×G + h×B + i×A + j
B'​ = k×R + l×G + m×B + n×A + o
A'​ = p×R + q×G + r×B + s×A + t
矩阵结构解读:
前四列(a~s):决定各通道的混合权重(如红色通道是否受蓝色影响)。
第五列(e~t):偏移量(Offset),直接给通道加减一个固定值,用于调整亮度或色调。
常见应用场景
通过修改矩阵参数,可以实现丰富的视觉效果:

效果
矩阵思路(示例)

说明
灰度化​
将 R、G、B 按人眼敏感度加权平均(如 R:0.299, G:0.587, B:0.114)
实现黑白照片效果。

反色​
对角线设为 -1,偏移量设为 1
即 R' = 1 - R,产生底片效果。

饱和度​
增加主对角线系数,减小非对角线系数
系数越大,颜色越鲜艳。
 
色相旋转​
使用三角函数构建旋转矩阵
改变整体色调(如变暖/变冷)。
 
亮度​
保持对角线为 1,仅增加偏移量(e, j, o)
 
所有颜色同时变亮。
实际应用领域
ColorMatrix 不仅是一个数学概念,更是多种技术栈的通用底层能力:
Android 开发:android.graphics.ColorMatrix类,用于实现图片滤镜、高对比度 UI 等。
Web 前端:SVG 滤镜 <feColorMatrix>或 CSS 的 filter属性,用于网页图片的实时调色。
游戏与桌面端:DirectX、GDI+、Unity 等图形引擎中,用于后处理(Post-Processing)效果。
单位矩阵:不变的基准
单位矩阵是 ColorMatrix 的“原点”,应用后图片颜色不变。它是理解变换的基准:
[ 1, 0, 0, 0, 0 ]   // R' = R
[ 0, 1, 0, 0, 0 ]   // G' = G
[ 0, 0, 1, 0, 0 ]   // B' = B
[ 0, 0, 0, 1, 0 ]   // A' = A
所有滤镜效果都是从这个矩阵出发,微调对角线(缩放)或偏移量(平移)来实现的。

地址:深圳市龙岗区南湾街道平吉大道9号华熠大厦A1010   电话:0755-28441200,传真:0755-28441200
Copyright © 2013 深圳市汇龙影像科技有限公司 All Right Reserved.粤ICP备14000400号-1
×

扫一扫
加微信

  • 微信客服

  • 微信客服