好色之图 | CMOS成像如何模拟人眼色彩感受?ISP算法有大招

2017-01-09 16:27:34 来源:EEFOCUS
分享到:
标签:

3.3 Saturation

饱和度Saturation是指色彩的鲜艳程度,在YCbCr空间来看,Cb和Cr等于128时,饱和度为0,|Cr-128|和|Cr-128|越大,饱和度也越大,饱和度的计算公式非常简单。


f(x,s)=(x-128)*s + 128,  x=Cb or Cr,s>=0
 

表达式中s表示饱和度调整幅度,s=1表示不调整,s=0表示灰度图,0<s<1表示降低饱和度,s>1表示增加饱和度。

 

Figure3.3.1 Saturation从左到右分别为s=0, 0.5, 1, 2


饱和度调整也可以通过CCM来完成,不过CCM找出的是根据人眼模型得出的标准系数,不宜随意改变。在Ycbcr空间的这种简单计算,适合于根据用户喜好而调整的情况。例如我们知道sony相机拍出的照片色彩比较鲜艳,就可以用这个方法实现。


3.4 Hue

Hue的本意是色彩的转换,在RGB空间有较明显的意义,例如当转过120度的时候红色变成绿色,绿色变成蓝色,蓝色变成红色。至于为什么要这么转,其实也没什么道理,除了特效摆酷外,hue一般不会被用到。但Hue是ISP标配,所以还是要说明一下。在Ycbcr domain,Hue意义不能直观的理解,我知道有用三角函数对Cb和Cr分量处理的方法,于是自己做实验琢磨,下面给出Hue转换的近似算法,如有雷同,纯属巧合。

 

(左)原图                 (中)旋转2π/3                (右)旋转4π/3

Figure 3.4.1 Hue


假设用户设定需要色彩旋转的角度为α,记D=Cb-128,E=Cr-128。D’和E’为转过α后的数值。


D’=D*cos(x) + E*sin(y)
E’=E*cos(y) +D*sin(x)

当α=0,x=0,y=2π;
当α=2π/3,x=3π/4,y=3π/2;
当α=4π/3,x=3π/2,y=3π/4;
当α=2π,x=2π,y=0;


这里我只实验得出了α为4个关键角度时的x和y取值,当α为其他角度时,x和y可用两点之间线性插值得到。变换过程中Y保持不变,Cb’=D’+128, Cr’=E’+128。这里的4个三角函数可以事先由软件计算好,数字IC只要实现乘加运算。从整体效果来看,色彩确实按照期望的方向在旋转,但是并不完美。

 

玩转电源设计,分分钟变身技术大牛
三分钟学会为Arria10自动生成signaltap II文件
In-system memory content editor精品入门教程
电源技术资料下载中心,免费资料等您来拿
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

作者简介
侯莅聪
侯莅聪

东南大学研究生毕业,在瑞晟微电子工作12年。是数字IC设计资深经理和数字图像处理专家,拥有多篇专利。参与研发的USB camera产品,获得市场占有率第一的位置。

微话题

手机缘分大测试

你与哪款手机更投缘……