颜色的基本处理

数码相机能够获取彩色图像,但相机的色彩处理是一个非常复杂的过程,是非常重要的。

此过程生产制造商在细节方面都是不公布的,但是基本的概念是相同的。当相机捕捉一个真实场景时,是怎么还原成人眼所看到的图像呢?

1.RAW----相机获取到的原始图像

绝大多数的彩色图像传感器使用Bayer模式,Bayer模式颜色传感器是采用红、绿、蓝滤光片。所以每个像素是能够探测到一种颜色,它"看到"的是红色、绿色或蓝色。因为绿色是亮度信息中最重要的颜色, 所有我们对于绿色采用两个像素,蓝色一个,红色一个。

图1:传感器信号不包含颜色信息,每个像素代表一种颜色。

图2 :上图的细节。每个像素只检测一个颜色。图片仍然是"马赛克"

2.去马赛克

为了得到每个像素的红色,绿色和蓝色的信息,去马赛克的重要步骤是对丢失的信息进行插值。这关系着图像的质量。因此很多厂商是不会透露在细节上做了什么。不同的滤光片导致对光的灵敏度不同且信号强度较低,因此噪声级别可能会非常不同。在去马赛克的处理过程中,噪声是通过相邻元素之间扩散,不同的颜色通道中噪声是相互关联的。

图3 :一个像素的信息用于相邻像素的颜色信息

图4 :经过去马赛克处理,每个像素都有了一个红、绿、蓝的值,所以原图会变成彩色图片

3.白平衡

在数码相机中,不同颜色通道的灵敏度是不同的。为了获取符合人眼视觉的正确颜色,相机以不同方式控制不同通道的增益。经过白平衡处理后,图像中的中性区域显现中性,并且数值和红色,绿色及蓝色几乎相同。

图5:调整所有的通道的增益后,图像显现中性

4.颜色校正矩阵(CCM)

每个相机都有各自的光谱灵敏度。所以每个相机都具有特定的RGB输出。要获得所有相机一致的结果,必须将相机的RGB转换为标准已知的色彩空间,在大多数情况下是sRGB,但可以是任意其它的色彩空间。要把值从RGB_camera转换到sRGB,必须对数据添加一个3 x3的颜色校正矩阵(CCM)。

图6:当CCM矩阵应用后,颜色被转换为已知定义的色彩空间(sRGB)

5.Gamma

不管图像中是在暗区检查和亮区检查,到目前步骤为止,图像的数据依然是线性的。因此将光强加倍会使图像中的数值加倍。在输出设备中为了得到正确的表现方式,图像通常会应用Gamma功能。这个曲线被用在图像处理的最后阶段,因为从现在起图像的数据就是非线性的,开始接近于人眼所看到的的图像画面。

图7:完成后,把RAW图片转换成sRGB图片

相关推荐
Yawesh_best9 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
Ccjf酷儿11 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
千里念行客24012 小时前
昂瑞微正式启动科创板IPO发行
人工智能·科技·信息与通信·射频工程
习习.y12 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面12 小时前
(笔记)自定义 systemd 服务
笔记
DKPT13 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉15 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法
小屋主人15 小时前
【实用软件】UninstallTool:一个小巧、安全、快速、强大的卸载软件
经验分享·其他·软件·软件卸载
星轨初途16 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法