需要确认注册邮箱后才能开通博客,立即确认我的邮箱
文章 搜索 高级搜索 ?3? ?3?
  • 滤波器new!
  • LED驱动 new!
  • 新能源 new!
  • PLL
  • PCIE协议
  • 可穿戴
  • LSI
  • FCI
文章 论坛 博客 小组 研讨会
EDN电子技术论坛>博客 >ts6969博客 >Camera 图像处理原理分析 色彩篇

ts6969的博客——ts6969's Blog

博主:ts6969???? ???? ????
介绍: 本博客大部分内容转载自网络,上传至博客主要是方便自己做笔记,无其他意思,凡涉及侵权的内容请作者联系我删除!! 感谢原文作者,感谢互联网,感谢EDN

文章(75)???? 访问(242103)???? 评论(8)???? 投票(49)???? 订阅本博??

博文列表查看方式: ???

Camera 图像处理原理分析 色彩篇
发布时间:2011-04-22 21:49:16
技术类别:数字电视
需要确认注册邮箱后才能下载,立即确认我的邮箱
Camera 图像处理原理分析??色彩篇?

摘自:http://www.52rd.com/bbs/dispbbs.asp?boardid=87&id=126468&replyID=35056

1???????? 前言
做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的工作将会起到事半功倍的效果。否则,缺乏了理论的指导,只能是凭感觉和经验去碰,往往无法准确的把握问题的关键,不能掌握sensor调试的核心技术,无法根本的解决问题。
所以,这里笔者结合自己出于对摄影的爱好所学习的一些图像处理相关的原理,试图通过分析一些与Sensor图像处理相关的因素,和大家分享一下自己的一些理解,共同探讨,共同学习进步。
2???????? 色彩感应及校正
2.1??????? 原理
人眼对色彩的识别,是基于人眼对光线存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知。 一般来说,我们可以通俗的用RGB三基色的概念来理解颜色的分解和合成。
?
理论上,如果人眼和sensor对光谱的色光的响应,在光谱上的体现如下的话,基本上对三色光的响应,相互之间不会发生影响,没有所谓的交叉效应。
?

但是,实际情况并没有如此理想,下图表示了人眼的三色感应系统对光谱的响应情况。可见RGB的响应并不是完全独立的。

下图则表示了某Kodak相机光谱的响应。可见其与人眼的响应曲线有较大的区别。

2.2??????? 对sensor的色彩感应的校正
既然我们已经看到sensor对光谱的响应,在RGB各分量上与人眼对光谱的响应通常是有偏差的,当然就需要对其进行校正。不光是在交叉效应上,同样对色彩各分量的响应强度也需要校正。通常的做法是通过一个色彩校正矩阵对颜色进行一次校正。
1
该色彩校正的运算通常是由sensor模块集成或后端的ISP完成,软件通过修改相关寄存器得到正确的校正结果。值得注意的一点是,由于RGB -> YUV的转换也是通过一个3*3的变换矩阵来实现的,所以有时候这两个矩阵在ISP处理的过程中会合并在一起,通过一次矩阵运算操作完成色彩的校正和颜色空间的转换。
3???????? 颜色空间
3.1??????? 分类
实际上颜色的描述是非常复杂的,比如RGB三基色加光系统就不能涵盖所有可能的颜色,出于各种色彩表达,以及色彩变换和软硬件应用的需求,存在各种各样的颜色模型及色彩空间的表达方式。这些颜色模型,根据不同的划分标准,可以按不同的原则划分为不同的类别。

匹配任意可见光所需的三原色光比例曲线
?
对于sensor来说,我们经常接触到的色彩空间的概念,主要是RGB , YUV这两种(实际上,这两种体系包含了许多种不同的颜色表达方式和模型,如sRGB, Adobe RGB, YUV422, YUV420 …), RGB如前所述就是按三基色加光系统的原理来描述颜色,而YUV则是按照 亮度,色差的原理来描述颜色。
3.1.1??????????????? RGB <-> YUV的转换
不比其它颜色空间的转换有一个标准的转换公式,因为YUV在很大程度上是与硬件相关的,所以RGB与YUV的转换公式通常会多个版本,略有不同。
?
常见的公式如下:
Y=0.30R+0.59G+0.11B?
U=0.493(B-Y) = -0.15R-0.29G+0.44B?
V=0.877(R-Y) = 0.62R-0.52G-0.10B
?
但是这样获得的YUV值存在着负值以及取值范围上下限之差不为255等等问题,不利于计算机处理,所以根据不同的理解和需求,通常在软件处理中会用到各种不同的变形的公式,这里就不列举了。
体现在Sensor上,我们也会发现有些Sensor可以设置YUV的输出取值范围。原因就在于此。
从公式中,我们关键要理解的一点是,UV 信号实际上就是蓝色差信号和红色差信号,进而言之,实际上一定程度上间接的代表了蓝色和红色的强度,理解这一点对于我们理解各种颜色变换处理的过程会有很大的帮助。
?

1.1??????? 白平衡
1.1.1????????? 色温
色温的定义:将黑体从绝对零度开始加温,温度每升高一度称为1开氏度(用字母K来表示),当温度升高到一定程度时候,黑体便辐射出可见光,其光谱成份以及给人的感觉也会着温度的不断升高发生相应的变化。于是,就把黑体辐射一定色光的温度定为发射相同色光光源的色温。

常见光源色温:
光源??????????????????????? 色温(K)
??? 钨丝灯(白炽灯)??????????? 2500-3200k
??? 碳棒灯????? ????????????????4000-5500k
??? 荧光灯(日光灯,节能灯)?? 4500-6500k
氙灯 ?????????????????????? 5600 k
炭精灯 ???????????????????? 5500~6500k
??? 日光平均??????????????????? 5400k
??? 有云天气下的日光??????????? 6500-7000k
??? 阴天日光??????????????????? 12000-18000k
?
随着色温的升高,光源的颜色由暖色向冷色过渡,光源中的能量分布也由红光端向蓝光端偏移。
值得注意的是,实际光源的光谱分布各不相同,而色温只是代表了能量的偏重程度,并不反映具体的光谱分布,所以即使相同色温的光源,也可能引起不同的色彩反应。
人眼及大脑对色温有一定的生理和心理的自适应性,所以看到的颜色受色温偏移的影响较小,而camera的sersor没有这种能力,所以拍出来的照片不经过白平衡处理的话,和人眼看到的颜色会有较大的偏差(虽然人眼看到的和白光下真实的色彩也有偏差)。
太阳光色温随天气和时间变化的原因,与不同频率光的折射率有关:

波长长的光线,折射率小,透射能力强,波长短的光线,折射率大,容易被散射,折射率低,这也就是为什么交通灯用红色,防雾灯通常是黄色,天空为什么是蓝色的等等现象的原因。
知道了这一点,太阳光色温变化的规律和原因也就可以理解和分析了,留给大家自己思考。
??
?
1.1.1????????? 色温变化时的色彩校正
所以从理论上可以看出,随着色温的升高,要对色温进行较正,否则,物体在这样的光线条件下所表现出来的颜色就会偏离其正常的颜色,因此需要降低sensor对红色的增益,增加sersor对蓝光的增益。同时在调整参数时一定程度上要考虑到整体亮度的要保持大致的不变,即以YUV来衡量时,Y值要基本保持不变,理论上认为可以参考RGB->YUV变换公式中,RGB三分量对Y值的贡献,从而确定RGAIN和BGAIN的变化的比例关系。但实际情况比这还要复杂一些,要考虑到不同sensor对R,B的感光的交叉影响和非线性,所以最佳值可能和理论值会有一些偏差。
1.1.2????????? 自动白平衡原理
1.1.2.1??????? 原理
自动白平衡是基于假设场景的色彩的平均值落在一个特定的范围内,如果测量得到结果偏离该范围,则调整对应参数,校正直到其均值落入指定范围。该处理过程可能基于YUV空间,也可能基于RGB空间来进行。对于Sensor来说,通常的处理方式是通过校正R/B增益,使得UV值落在一个指定的范围内。从而实现自动白平衡。
?
1.1.2.2??????? 特殊情况的处理
在自动白平衡中,容易遇到的问题是,如果拍摄的场景,排除光线色温的影响,其本身颜色就是偏离平均颜色值的,比如大面积的偏向某种颜色的图案如:草地,红旗,蓝天等等,这时候,强制白平衡将其平均颜色调整到灰色附近,图像颜色就会严重失真。
因此,通常的做法是:在处理自动白平衡时,除了做为目标结果的预期颜色范围外,另外再设置一对源图像的颜色范围阙值,如果未经处理的图像其颜色均值超出了该阙值的话,根本就不对其做自动白平衡处理。由此保证了上述特殊情况的正确处理。
可见,这两对阙值的确定对于自动白平衡的效果起着关键性的作用。
1.1.3????????? 某平台的例子
英文代码????????????? 中文界面?????? 色温?????? 色温?????? RGAIN, GGAIN,?? BGAIN
cloud?????????? 阴天??????? 7500k?? 0x1D4C, 0x00CD, 0x0085, 0x0080
daylight ?????? 日光??????? 6500k?? 0x1964, 0x00A3, 0x0080, 0x0088
INCANDESCENCE?? 白热光??? 5000k?? 0x1388, 0x00A5, 0x0080, 0x0088
FLUORESCENT???? 日光灯????? 4400k?? 0x1130, 0x0098, 0x0080, 0x00A8
TUNGSTEN??????? 钨丝灯????? 2800k?? 0x0AF0, 0x0080, 0x0081, 0x00A4
?
可以看到随着色温的升高,其变化规律基本符合上节中的理论分析。不过这里多数参数与理论值都有一些偏差,其中日光灯的色温参数设置与理论值有较大的偏差,实际效果也证明该日光灯的参数设置使得在家用日光灯环境下拍摄得到的照片颜色偏蓝。修改其参数后实拍效果明显改善。(再查一些资料可以看到通常会有两种荧光灯色温 4000 和 5000K,目前我所接触到的应该是5000K居多)
1.1.4????????? 调试和验证
具体参数的调整,应该在灯箱环境下,使用各种已知色温的标准光源对标准色卡拍摄,在Pc机上由取色工具测量得到其与标准色板的RGB分量上的色彩偏差,相应的调整各分量增益的比例关系。为了更精确的得到结果,曝光量增益的设置在此之前应该相对准确的校正过。



颜色相关特效处理
1.1??????? grayscale (灰阶)
灰阶图的效果就是将彩色图片转换为黑白图片。
1.2??????? 理论
理论上,在YUV空间,将UV分量丢弃,只保留Y分量,这样就可以得到黑白图像,这也是彩色电式机信号能兼容黑白电视机的原理。如下图理论上Y值一样的颜色(右边是用acdsee转成灰度图的效果),在grayscale模式下看应该是一样的颜色。
?????
算法上的操作,理论上应该把UV值改成灰色对应数值就可以了。不过根据软件算法和硬件结构的不同,具体代码也会有不同。
1.3??????? 以某平台为例
核心的两行代码如下:
?????? SET_HUE_U_GAIN(0);?
?????? SET_HUE_V_GAIN(0);?
这里设置UV GAIN为0,如果UV offset设置为128的话,最终得到的UV就是128,这就和理论是相符合的。
1.4??????? sepia / sepiagreen / sepiablue
所谓的复古(绿,蓝)就是在灰阶的基础上,对UV值额外再做了一个offset,将灰度图转换成某种颜色的梯度图。理论上为了获得蓝色效果,应该增加蓝色差信号,减小红色差信号。即增大U,减小V。
以sepiablue效果为例,这里的字节的MSB表示符号位:所以88为88,158为-30。
??? SET_HUE_U_GAIN(0);?
??? SET_HUE_V_GAIN(0);?
??? SET_HUE_U_OFFSET(88);
??? SET_HUE_V_OFFSET(158);
??
??
1.5??????? negative
所谓负片效果,就是将图像的颜色反转,看起来就像是在看胶片底片时的效果。这从理论上也很容易理解和处理,就是在RGB空间,取其补色,具体的操作就是用255分别减去RGB得到新的RGB值。通常会在ISP中实现该功能。
??
2???????? 小结
理解了原理,要做出其它颜色变换方面的效果就很容易了。
基本上,在颜色校正和处理方面,需要考虑的相关参数大致包括:
自动WB上下限,自动白平衡时的目标范围,RGB gain, UV gain, UV offset, color correction.有些还会有saturation 和 hue相关的设置。
从sensor或ISP硬件处理的流程上说,通常方向是先做RGB gain,再做color correction,最后做YUV空间的处理。所以调整效果的时候,为了减少参数之间的相互影响,基本上也可以按这个顺序来调整参数。
标签:??
分享到:? 新浪微博 ?? 微信 ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
qq空间 ?? 腾讯微博 ?? 人人网 ?? 百度搜藏 ??
??????有[ 0 ]名读者喜欢此文
阅读(4219)?? 评论(0)?? 收藏??I?? 打印??I?? 推荐到小组??I?? 转发到我的博客 (0)
对不起,您还没有登录,请先登录注册
上一篇:图像传感器(image sensor)复位顺序

下一篇:解析思比科系列CMOS图像传感器应用方案

最近到访博主
hanbin08041813 哈哈呀呀 zgq800712
牛人有话说 - Camera 图像处理原理分析 色彩篇
美国的游客 (您将以游客身份发表,请登录 | ?注册)
?
你还可以输入1000
验证码:
分享: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
?
有 [ 0 ] 名读者发表评论 - Camera 图像处理原理分析 色彩篇
转发到我的博客
评论?@ts6969's Blog?的“Camera 图像处理原理分析 色彩篇”
Camera图像处理原理分析色彩篇摘自:http://www.52rd.com/bbs/dispbbs.asp?boardid=87id=126468replyID=350561前言做为拍照手机的核心模块之一,camerasensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软...
你还可以输入30000
同时评论给?ts6969
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
文章存档
最新评论
阅读排行
ts6969的好友
ts6969的小组???? 加入小组
PCB技术交流中心
成员4177名
创建者:Andymio EDN助学—FPGA/CPLD学习小组 成员18977名
创建者:特权同学 USB专区 成员11372名
创建者:computer00 成员1502名
创建者:Spark_Design_Group FPGA讨论组 成员3308名
创建者:stephen100 ARM 成员415名
创建者:computer00 图像视频讨论区 成员140名
创建者:stephen100 单片机殿堂 成员2461名
创建者:promcu Altium Designer 学习交流 成员284名
创建者:pa2792 ModelSim 成员363名
创建者:riple 电子设计讨论组 成员946名
创建者:likee Windows Embedded 成员699名
创建者:彩云 友善mini2440 成员304名
创建者:467468746416351 linux编程天地 成员1318名
创建者:levension 图像处理 成员57名
创建者:opencv2008 ARM_SKY2440 成员463名
创建者:SKY2440 嵌入式软件设计 成员170名
创建者:lzxcstf
展开
最新网络博文
想在网上直播来讲讲zigbee,大家怎么看
什么原因可能导致USB3.0插座无法识别
nubia发布无边框旗舰手机Z11 售价249...
TCL 750体验:新品牌理念发布后的转...
印度开卖史上最便宜智能手机:售价约2...
? 更多博文>>
返回博客首页
有问题请反馈