camera测试之颜色还原
测试目的: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计算公式如下:
另外一个测量量就是颜色的饱和度,饱和度指色彩的纯洁性,也叫饱和度或彩度。简单来说,就是颜色越接近黑色或者白色,则饱和度越低。对应到上图的切面圆来说,越靠近圆心则饱和度越低,越靠近圆环饱和度月高。饱和度计算公式如下:
判断标准:
camera测试之颜色还原的更多相关文章
- Camera测试之Color & Lens shading Test
测试目的:测试摄像头成像的均匀性 测试主要设备:均匀光源(DNP灯箱),色温照度计 测试环境:将灯箱光源调至600±100lux 测试注意事项:保证均匀的光源 测试原理: 造成摄像头成像不均匀的原因有 ...
- camera测试之MTF
1.MTF介绍 MTF(Modulation Transfer Function)模量传递函数.MTF是camera成像对比度和分辨率的综合表现.从另一个角度来看,camera成像过程可以简单看成下图 ...
- Camera光学、成像和 3A 算法 (视觉),camera开发
简单介绍 转载:https://blog.csdn.net/ShareUs/article/details/94295628 成像与光学.计算机视觉,图像处理,数字成像.自动驾驶与视觉. 镜头设计:人 ...
- Camera噪声问题
Camera噪声问题 Camera RGB 域的噪声 以上部分属于sensor processing,接下来的部分属于color.luminance processing. gamma gamma是在 ...
- gridView RowDataBound事件 鼠标经过行颜色变化及根据字段值显示指定内容
protected void gvBarInfo_RowDataBound(object sender, GridViewRowEventArgs e) { if ...
- Asp.Net中GridView加入鼠标滑过的高亮效果和单击行颜色改变
转载自:http://www.cnblogs.com/fly_dragon/archive/2010/09/03/1817252.html protected void GridView1_RowDa ...
- three.js使用gpu选取物体并计算交点位置
光线投射法 使用three.js自带的光线投射器(Raycaster)选取物体非常简单,代码如下所示: var raycaster = new THREE.Raycaster(); var mouse ...
- three.js中的事件
以上一篇入门篇为例来简单的设置下3d模型当中的交互事件,上一篇我们已经完成了在3d页面中添加了一个红色球,下面我们给这个球一个点击事件让它Y轴位置上升,再设置一个鼠标移入到球上时让其变色. 1.其实t ...
- angularjs和ajax的结合使用 (一)
好久没写文了.这是一篇关于easyui配合ajax使用 的文章, 顺带介绍angularjs的使用 以及让你感受到angularjs的威力.网上对于ajax 的文也是多如牛毛 .我就不直接 从那种原生 ...
随机推荐
- PowerPoint 2013中创建自定义路径动画的方法
1.在幻灯片中选择对象,在“动画”选项卡的“高级动画”组中单击“添加动画”按钮,在打开的下拉列表中选择“自定义路径”选项,如图1所示. 图1 选择“自定义路径”选项 2.此时鼠标指针变为十字形,在幻灯 ...
- rails5 后台入门(api mode)
1. Installation (Centos为例) 1.1安装rvm (http://rvm.io/) gpg2 --recv-keys 409B6B1796C275462A1703113804BB ...
- 关于NGUI Shader 和 Draw Call的优化 & 模糊shader
序: 1.项目过程中不可避免的需要用到大量Shader 和 UITexture,由于Ngui对Shader支持非常糟糕,导致项目drawCall异常的高 2.Panel裁剪无法裁剪自定义shader内 ...
- 团队作业第六周--alpha阶段项目复审
组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统需求高,系统功能完善 界面可以再完善 2 小谷围驻广东某工业719电竞大队 项目贴近大学生 ...
- UniGui中使用Grid++Report报表控件子报表获取数据的方法
Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料 ...
- html快速编写
1. 嵌套操作---------- 子操作: > div>ul>li <div> <ul> <li></li> </ul> ...
- MySQL--Skip GTID CAP
import os script_file = "./skip_file.sql" def write_script(script_content): file_handle = ...
- 大叔学ML第三:多项式回归
目录 基本形式 小试牛刀 再试牛刀 调用类库 基本形式 上文中,大叔说道了线性回归,线性回归是个非常直观又简单的模型,但是很多时候,数据的分布并不是线性的,如: 如果我们想用高次多项式拟合上面的数据应 ...
- Javascript高级编程学习笔记(54)—— DOM2和DOM3(6)范围选择
范围 为了让开发人员更加方便地控制页面“DOM2级遍历和范围”模块定义了“范围”接口 通过该接口开发人员可以选择文档中的一个区域,而不必考虑元素的界限 在常规操作不能有效地修改文档时,使用范围往往可以 ...
- 转转hybrid app web静态资源离线系统实践
一.前言 目前的转转app是一个典型的hybrid app,采用的是业内主流的做法: 客户端内有大量业务页面使用webview内加载h5页面承载. 其优点是显而易见的,即:web页面上线频度满足快速迭 ...