测试目的:camera对色彩的还原能力

测试主要设备:24色色卡,灯箱

测试环境:1.D65/CW/A光源,照度为600±100lux,整个chart表面的亮度值相差小于10%

2.D65光源,照度为20lux,整个chart的表面的亮度相差小于15%

测试注意事项:24色卡位于预览画面的中心,大小占整个画面的70%

测试原理:

在硬件电子系统中,也就是我们的摄像头,屏幕中,是使用RGB颜色模型来表示的。但是RGB颜色模型中颜色发生变化过程和人眼对颜色的感应过程不一致。简单来说,对RGB颜色模型来说,假设是8bit的颜色深度,当R颜色通道从0增大到10和从240增大到250,其实对于R颜色通道来说,它们的增量大小是一样的。但是对于人眼来说,从当R颜色通道从0增大到10时,人眼能明显看到他们的变化,但是当R颜色通道从240增大到250时,人眼基本上看不出颜色的变化。所以RGB颜色模型不适合用于色彩还原的测试。

先简单介绍一下CIELAB颜色模型,CIELAB颜色模型表示为(L*,a*,b*),L*用于表示明亮度(Luminance),也是是黑色到白色的变化的位置,范围0~100。a*和b*表示颜色的变化,a*为绿色(green)到紫红色(magenta)间的变化,b*表示蓝色(blue)到黄色(yellow)间的变化,范围额-128到+127。3D图如下图所示,其中距离圆心越进饱和度越低。

对于CIELAB颜色模型,当a*从0变化到10和从100变化到110时,人眼能够感觉到一样的颜色变化。也就是说CIELAB的L*,a*,b*的变化量一样,则人眼感受到的颜色变化是一样的。

上面所说的就是CIELAB颜色模型具有视觉上的均匀性(perceptually uniform),所以使用CIELAB颜色模型用于camera颜色还原的测试。

RGB颜色模型转CIELAB颜色模型过程:首先先将RGB颜色模型转成CIEXYZ颜色模型,然后CIEXYZ颜色模型再转换成CIELAB颜色模型。具体转换公式如下:

  RGB >> CIEXYZ

 CIEXYZ >> CIELAB

其中X n ,Y n ,Z n一般默認是95.047,100.0,108.883。

下一步基于CIELAB颜色模型计算颜色误差和颜色的饱和度(saturation),如下图所示:

用ΔC,ΔE表示色彩正确度误差,如上图所示,左图表示CIELAB颜色模型,右图表示CIELAB颜色模型的一个切面圆。ΔC就是平面圆上两个点的距离。ΔE计算色度差(C)外,还加入明度差。也就是说ΔE表示空间上两个点的距离。一般而言ΔC,ΔE值越小表示越接近真实颜色SRGB,也表示摄像模组的颜色误差越小,颜色越好。ΔC,ΔE计算公式如下:

另外一个测量量就是颜色的饱和度,饱和度指色彩的纯洁性,也叫饱和度或彩度。简单来说,就是颜色越接近黑色或者白色,则饱和度越低。对应到上图的切面圆来说,越靠近圆心则饱和度越低,越靠近圆环饱和度月高。饱和度计算公式如下:

判断标准:

最新文章

  1. STSDB、NDataBase 对象数据库在不同.net framework下无法读取的解决办法
  2. EntityFramework简介
  3. Async Programming - 1 async-await 糖的本质(1)
  4. Java 对文件的读取操作
  5. Java基础之OOP
  6. 【BZOJ 4456】【UOJ #184】【ZJOI 2016】旅行者
  7. Tomcat 6 JNDI数据源详解
  8. XidianOJ 1182 Chinese Paladin – Qi’s troubles
  9. 第三百二十二天 how can I 坚持
  10. NSString 使用小结
  11. MySql按指定天数进行分组数据统计分析 2
  12. Go语言及Web框架Beego环境
  13. Winsock网络编程笔记(3)----基于UDP的server和client
  14. python爬取拉勾网职位数据
  15. Node.js_express_route 路由
  16. shiro框架
  17. Solidity的delete操作
  18. APIX招聘
  19. Java的静态成员类
  20. ASP.NET学习笔记(1)——VS自动引入命名空间快捷键

热门文章

  1. extjs__(grid Panel绑定数据)
  2. <笔记>Apache+PHP+MYSQL配置
  3. 记一次bash脚本开发的经历
  4. vue图片上传
  5. 【hdu2000】ASCII码排序
  6. 【java源码】解读HashTable类背后的实现细节
  7. .Net持续集成 —— Jenkins+Git+WebDeploy
  8. 谈谈Java中的代理模式
  9. Java中线程同步锁和互斥锁有啥区别?看完你还是一脸懵逼?
  10. SpringMVC框架五:图片上传与JSON交互