ccm颜色矩阵的一些可能

ccm颜色矩阵的一些可能

部分资料和想法记录

1)分不同层次去计算

先解决白点,然后解决亮度,再解决色相,ccm0ccm1…*ccmi

2)转换到其他颜色空间去计算

xyz,lab等颜色空间,是否经过gamma,最后再转回rgb空间

3)利用竞品拍到的色卡去对比

4) 人工凭感觉去调整

改变矩阵参数去调整,尽量不影响白平衡的那6个色块,重点关注某几种颜色,其他颜色适当放弃。
可配合imatest工具,可逐步调整并两两比较选出较优的结果。

5) 利用数学方法

利用最小二乘法/SVD求解对应点的H矩阵等方法直接求解,考虑约束一行/一列的和为1,考虑约束矩阵的范数为1

6)分不同模块求解

先用wbgain解决白平衡,再用CCM考虑色卡,再考虑部分特殊颜色(配合曲线或者3DLUT)

7)利用神经网络进行训练

竞品/标准色卡/某些好看的图像作为ground truth

参考文章:

https://blog.csdn.net/zhognsc08/article/details/123603902
https://zhuanlan.zhihu.com/p/34562544

参考软件:

imatest
3DLutCreator

在Python中修改图片的色彩校正矩阵(Color Correction Matrix,简称CCM),通常是为了改变图片的颜色表现,使之更符合特定的显示或打印需求。CCM 是一个3x3的矩阵,它用于将图像的颜色从一个颜色空间转换到另一个颜色空间。 要修改图片的CCM,你可以使用一些图像处理库,比如Pillow(PIL的升级版)或OpenCV。以下是使用Pillow来修改CCM的基本步骤: 1. 读取原始图片。 2. 获取图片的颜色模式,例如RGB。 3. 计算或获取想要应用的CCM。 4. 将CCM应用到图片的每个像素上。 5. 保存修改后的图片。 下面是一个简单的代码示例: ```python from PIL import Image, ImageEnhance, ImageOps # 读取图片 image = Image.open('path_to_your_image.jpg') # 获取图片的颜色模式,这里以RGB为例 # 对于CMYK等其他模式,需要先转换到RGB,应用CCM后再转换回来 # 假设我们有一个CCM矩阵如下: ccm = [ [1.1, 0.1, 0.0], [0.1, 1.1, 0.0], [0.0, 0.0, 1.1] ] # 应用CCM到图片的每个像素上 def apply_ccm(image_data, ccm): r, g, b = image_data[0], image_data[1], image_data[2] # 应用CCM矩阵变换RGB值 new_r = r * ccm[0][0] + g * ccm[0][1] + b * ccm[0][2] new_g = r * ccm[1][0] + g * ccm[1][1] + b * ccm[1][2] new_b = r * ccm[2][0] + g * ccm[2][1] + b * ccm[2][2] # 确保值在0到255之间 new_r = max(0, min(255, new_r)) new_g = max(0, min(255, new_g)) new_b = max(0, min(255, new_b)) return int(new_r), int(new_g), int(new_b) # 对图片的每个像素应用CCM变换 data = image.getdata() new_data = [apply_ccm(pixel, ccm) for pixel in data] image.putdata(new_data) image = ImageOps.color_space(image, 'RGB', 'RGB') # 确保颜色空间正确 # 保存修改后的图片 image.save('path_to_modified_image.jpg') ``` 请注意,上面的代码示例是一个简化的版本,实际应用中可能需要考虑颜色空间转换、伽马校正等因素。而且直接在RGB值上应用CCM可能会超出有效范围,因此可能还需要进行裁剪或扩展以保持值在合法的RGB范围内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值