CCM的矩阵

CCM(Color Correction Matrix)的计算

sensor_RGB空间分别经过M(M =M2*M1)以及 γ(gamma) 校正完成到非线性sRGB空间。

sensorRGB空间我们称之为“源色彩空间",非线性sRGB空间称之为“目标颜色空间”,目前,我们能够得到源色彩空间的“不饱和图”对应的24色色快,也有非线性sRGB空间的“饱和图”对应的24色色快,

那么,只需要将非线性sRGB空间的图片经过反 γ 校正然后再转换到XYZ空间,

那时就可以和sensorRGB数值联立从而求M,由于M1也是已知的,故可以求得M2

 多项式拟合:

sRGB(线性)=(sRGB(非线性))^γ 

24矩阵:

sensor_RGB(m*n)*M(n*n)=sRGB线性

假设sensor_RGB是24个色块,每个色块分为3个颜色颜色分量

即矩阵|OriColor|(24*3)*Max(3*3)=|TarColor|(24*3)

关于MTK的CCM

【R,G,B】表示原始图像的每个像素的RGB的值,

【R',G',B'】表示经过CCM校正后后每个像素的RGB值;

M是由C11~C33组成的3*3的矩阵

 \left\{\begin{matrix} {R}'=R*C11+G*C21+B*C31\\ {G}'=R*C12+G*C22+B*C32 \\ {B}'=R*C13+G*C23+B*C33 \end{matrix}\right. (1.2)

 \left\{\begin{matrix} C11+C12+C13=1\\ C21+C22+C23=1 \\ C31+C32+C33=1 \end{matrix}\right. (1.3)

 其中C11+C12+C13=1;C21+C22+C23=1;C31+C32+C33=1,

是因为灰色要保证RGB三个分量必须相等,MTK的CCM中设置的是等于512

所以3*3的矩阵又可以用6个数表示,即矩阵自由度从9变为6

矩阵修改方向:

若是提高整体的饱和度,则是C11,C22,C33的值增加,其他的值相应减小

当蓝色偏紫时(红多,红色+蓝色是紫色,红多蓝多),可以减少蓝色通道中的红色分量比例(即降低C13),同时为了满足灰色依旧是灰色,需要增加红色分量,即建议增加 C11红色本身分量,而不是C12,绿色通道中的红色分量;

当绿色偏黄时(红多,红色+绿色是黄色,红多绿多),可以减少绿色通道中的红分量比例(即降低C12),同时为了满足灰色依旧是灰色,需要增加红色分量,即建议增加 C11红色本身分量,而不是C13,蓝色通道中的红色分量;

当红色偏橙时(绿多,红色+绿色是黄色,黄色+红色是橙色,绿多),可以减少红色通道中的绿色分量比例(即降低C21),同时为了满足灰色依旧是灰色,需要增加绿色分量,即建议增加C22 绿色本身分量,而不是C23,蓝色通道中的绿色分量;

当红色偏橙时(蓝少,红色+黄色是黄色,黄色+红色是橙色,红多绿多蓝少),可以增加红色通道中的蓝色分量比例(即增加C31),同时为了满足灰色依旧是灰色,需要增加蓝色分量,即建议降低C33蓝色分量中的蓝色,而不是C32,绿色分量中的蓝色;

肤色偏黄,增加绿色中的蓝分量比例(C32);

肤色偏红,增加蓝色中的红色分量比例(C13);

黄色偏红,增加蓝色中的红分量比例(C13),或者减少蓝色中的绿色分量的比例(C23),

黄色偏绿反之

CCM优化算法:

最优化算法有很多可以使用,比如MATLAB中有fmincon函数,Python中可以使用SciPy.optimize.minimize。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ti 平台是一个用于处理大规模数据和进行大规模计算的开源分布式计算平台。CCM 矩阵计算方法是 ti 平台上用于处理矩阵计算的一种计算方法。 CCM 矩阵计算方法是基于分布式计算的思想,将大规模矩阵数据划分为多个子矩阵进行并行计算。具体计算过程如下: 1. 数据划分:将矩阵数据划分为多个子矩阵,每个子矩阵在不同的计算节点上进行计算。通过数据划分,可以将大规模矩阵计算问题拆分为多个小规模子问题,提高计算效率。 2. 并行计算:各个计算节点并行计算各自的子矩阵。这样可以同时进行多个计算任务,加快计算速度。 3. 数据合并:将各个计算节点计算得到的子矩阵结果合并为最终的计算结果。这样可以得到完整的矩阵计算结果。 CCM 矩阵计算方法在 ti 平台上具有一定的优势和特点: 1. 高效性:CCM 矩阵计算方法利用分布式计算框架,充分利用集群中多个计算节点的计算能力,提高计算效率。 2. 可扩展性:ti 平台提供了横向扩展的能力,可以根据实际需求添加更多的计算节点,以应对计算规模的增加。 3. 容错性:ti 平台具有容错性,当计算节点发生故障时,可以自动将任务切换到其他可用节点上继续计算,保证计算的可靠性和连续性。 总之,CCM 矩阵计算方法是 ti 平台上用于处理矩阵计算的一种高效的分布式计算方法,具有高效性、可扩展性和容错性等特点,适用于大规模矩阵计算问题的处理。 ### 回答2: TI平台中的CCM矩阵计算方法是一种用于完成基于大规模数据集的分析和挖掘的技术。CCM矩阵是一种基于两个时间序列之间的非线性关系而构建的矩阵。以下是CCM矩阵的计算方法: 首先,选择一个时间序列作为参考时间序列,假设为X。然后,选择另外一个时间序列作为目标时间序列,假设为Y。 接下来,通过选择合适的时间滞后参数来定义一个滞后阶段,例如从1到N。在每个滞后阶段上,我们将X的值与相应时间滞后的Y值进行比较。 然后,根据选择的相似性度量方法(如欧氏距离或相关系数),来计算X和Y两个时间序列之间的相似性得分。这个相似性得分将作为CCM矩阵的一个元素。 最后,通过重复上述步骤,可以计算所有可能滞后阶段下的CCM矩阵CCM矩阵可以在多个时间序列之间进行分析和比较。它可以用于寻找特定模式或周期在不同时间序列之间的转移和相似性。CCM矩阵可以帮助揭示出时间序列之间的潜在关系和互动。这对于在科学研究、金融预测、市场分析等领域具有很大的应用潜力。 TI平台提供了CCM矩阵的计算和可视化工具,以帮助用户利用这一技术进行数据分析和挖掘。用户可以在TI平台上导入具体的时间序列数据集并选择相应的参数和相似性度量方法,来计算并展示CCM矩阵。通过CCM矩阵,用户可以更好地理解时间序列之间的关系,并进行更深入的数据分析和预测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值