当前位置: 首页 > java >正文

从白平衡色温坐标系调整的角度消除硬件不一致性引起的偏色问题

目录

一、问题提出

二、从色温坐标系的解决思路

确定Golden Sample样机

色温坐标系的调整

疑问;用单一的点做色温坐标系的偏移是否存在问题


一、问题提出

        在调试过程中,有时候会遇见两套同样硬件、同样固件的设备,对着同样的场景,白平衡会有较大差异。可能一个相对正常,一个会有明显偏色问题。

        这个问题主要是由硬件的一致性导致的。监控设备由镜头、滤光片以及图像传感器组成的光学通路,两套监控设备其光学通路中的其中一个部件如果差异较大的话,最终导致图像传感器对光谱的响应也会有差异,反映在图像上就可能导致图像偏色或者颜色表现存在差异。

        硬件的一致性品控如果控制的好,一致性当然较好。但是有些生产商为了控制成本会选用一些品控差一点的部件,这样将导致同一批设备,图像效果存在较大差异。有些模组通过OTP烧录相关模块的标定数据消除其一致性问题。烧录的数据一般包括AF、AWB、LSC等模块的标定数据

OTP烧录有两种方法:

  1. 烧录在图像传感器的寄存器中。缺点是可少烧录的数据比较少;
  2. 烧录到EEPROM中。缺点是需要额外的EEPROM存储器,增加了成本;

二、从色温坐标系的解决思路

        博文从白平衡偏色的角度阐释下一种理论上可行的方法。

确定Golden Sample样机
  1. 随机挑选同型号的N台设备
  2. 在D65色温下拍摄18%灰卡
  3. 统计N台设备在色温坐标系下落点的平均值
  4. 选择与平均值差异最小的设备作为Golden Sample样机
  5. 其他样机均向Golden Sample白平衡效果靠拢
色温坐标系的调整
  1. 当Golden Sample样机确定好之后,在如下的定色温坐标系就确定了原点位置
  2. 记录其他设备相对于Golden Sample样机的偏移位置。比如D65色温下,相对于Golden Sample原点再色温坐标系横坐标偏移量和纵坐标偏移量
  3. 根据其横纵最坐标的偏移量对各个色温下白点候选框坐标进行相遇的偏移

        如下图,假设黑色坐标系为Golden Sample的白平衡色温坐标系;已知原始坐标系和某样机相对于原始坐标系下相原点的偏移量,就可以确认某样机偏移后的坐标系。红色色温坐标系为某样机相对于Golden Sample的白平衡色温坐标系偏移之后的色温坐标系。以这样一种方式消除硬件不一致带来的白平衡偏色效果。

        比如某H方案的色温坐标系下。

        假设黑色坐标系为Golden Sample的白平衡色温坐标系。已知原始坐标系曲线以及某样相对于原始坐标系下普朗克曲线与y=x的直线交点的相对偏移量,就可以确认某样机偏移后的坐标系。红色色温坐标系为某样机相对于Golden Sample的白平衡色温坐标系偏移之后的色温坐标系。

        理想情况下的D65色温,两项18%灰度的RGB大致趋势为G略大于,R和B分量,R和B分量基本相等。这样的情况下,如果某一样机相对于Golden Sample有偏色,直觉上能够很容易分辨出。而如果以高色温或低色温为基准进行色温坐标系的偏移,那么在有些偏色被的高色温的蓝色或者低色温的红色给遮蔽了,这种情况还不太容易察觉到。

        比如,以下色温坐标系为例。假设以普朗克曲线最左端为基准进行白平衡色温坐标系的偏移。由于最左边的点基本位于一条垂直于横坐标的直线上,横坐标方向的变化其实非常小,即使样机有偏色的情况,也不太容易察觉;同样的以普朗克曲线最右端为基准进行白平衡色温坐标系的偏移。由于最右边的点基本位于一条垂直于纵坐标的直线上,纵坐标方向的变化其实非常小,即使样机有偏色的情况,也不太容易察觉;而以普朗克曲线与y=x的交点为基准的话(大致是D65色温下白点所在的区域位置),能够很好的兼顾偏红或者偏蓝的情况。

疑问;用单一的点做色温坐标系的偏移是否存在问题

        仅仅用一个点的相对偏移做色温坐标系的偏移,是否存在其他问题呢?可能只适合消除较大色偏的情况。偏色程度较小的坐标系也不会做大的调整。

http://www.xdnf.cn/news/1451.html

相关文章:

  • springmvc入门案例
  • 【高频考点精讲】JavaScript中的访问者模式:从AST解析到数据转换的艺术
  • 游戏引擎学习第240天:将渲染器移至第三层
  • Android SDK 下载及配置 --- app笔记
  • rabbitmq-spring-boot-start版本优化升级
  • 算力租赁:重构数字经济的基础设施革命
  • 线程入门3
  • 格雷希尔气瓶充装连接器:广泛应用于工业气体充注站的快速充装,及气瓶生产厂家的气密性测试
  • 从Nacos derby RCE学习derby数据库的利用
  • 【源码分析】Linux内核ov13850.c
  • [HCTF 2018]WarmUp
  • ospf综合练习
  • 【编译原理】第三章 习题
  • 文件【Linux操作系统】
  • Dhtmlx Gantt教程
  • uniapp实现app自动更新
  • ollama本地搭建大模型
  • 伺服器用什么语言开发呢?做什么用什么?
  • Python流程控制
  • 前端面试场景题
  • Java标识符与关键字终极指南:从基础到高级应用
  • 影刀RPA怎么制作文生图,把网站上图片获取到本地文件夹工作流
  • Flutter 学习之旅 之 flutter 使用 【验证码】输入组件的简单封装
  • 安装Jupyter Notebook 之不断报错 差点放弃版
  • 基于Python将MongoDB文本数据通过text2vec-large-chinese模型向量化并存储到Milvus数据库的完整实现方案
  • “在中国,为中国” 英飞凌汽车业务正式发布中国本土化战略
  • 【调优】log日志海量数据分表后查询速度调优
  • 语法长难句
  • 破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
  • 汽车可变转向比系统的全面认识