5.17.4.1. 修订记录
| 版本 | 修订日期 | 修订说明 |
|---|---|---|
| 0.1 | 2024.6.13 | 初版 |
| 0.5 | 2024.6.19 | Modify-修订格式和个别图标引用问题 |
| 1.00 | 2024.7.1 | 语义格式修改 |
5.17.4.2. X5 ISP校准工具概述
X5 ISP校准工具是用于X5 ISP camera校准的工具。
本文面向已经将对应camera集成到X5 SDK中的客户,帮助调整传感器以适应camera接口。目的是通过标定传感器的多个参数并调整X5 ISP的软件驱动程序,以便传感器数据能够在X5 ISP中得到最佳处理,从而提高图像质量。
ISP校准工具组成
当前的X5 ISP校准工具集包括以下内容:
校准工具
Black Level Correction:校正图像中的黑电平,包含压缩、解压缩和PD点校正。
Lens Shade Correction:调整Lens Shading校正以补偿大多数手机镜头产生的渐晕和传感器交叉影响。
Color Calibration:调整色彩校正矩阵以生成不同照明条件下的正确颜色。
Auto White Balance:计算自动白平衡软件控制回路的参数。
Noise Calibration:表征传感器模块的时间噪声水平。评估结果是描述时间噪声标准偏差与像素强度关系的噪声级别函数(NLL),可以将生成的文本导出,用于X5 ISPDPF模块的NLL相关寄存器。
Chromatic Aberration Correction:计算CAC硬件功能的校正参数。
Supplemental Tools
Color Checker Synthesizer:生成ColorChecker Chart或ColorChecker SG Chart的图像。如果实验室中无法拍摄某些条件下的实际图像,则这些图像可用于色彩校准工具。
Image Rectifier:帮助去除失真的图像。此工具的典型用例是校正以45°/0°对齐方式拍摄的色彩检查器图像,以便在IMATEST中进一步分析。
XML Generator:将校准数据转换为XML文件。
操作系统兼容性
X5 ISP校准工具可用于Microsoft Windows环境。X5 ISP校准工具支持在Windows 32位和64位操作系统上运行。
Note:ISP校准工具目前处于持续开发阶段。以下说明和UI可能会有所更改。
5.17.4.3. 环境要求
兼容的IP
ISP8000 v1.2.0及以上版本
软件要求
X5 ISP校准工具版本2.1.4及以上。
5.17.4.4. 安装与启动
校准工具安装与启动
安装MCRInstaller.exe运行库。 在使用校准工具之前,需要安装运行库。MCR运行库的版本应为9.14.0.2206163 (R2023a)。可以使用以下链接下载运行库: MATLAB Runtime R2023a
启动工具。
安装运行库后,应将工具目录复制到硬盘的指定位置。然后通过执行工具目录中的相应.exe文件启动工具。无需进一步安装。工具将启动一个用于控制台的窗口,并显示GUI窗口。
如果需要更新工具版本,可以将新版本工具复制到现有目录中,无需卸载旧版本。
5.17.4.5. 校准主流程

图 3.1‑1 X5 ISP Calibration Tools
校准的主要流程对应于校准工具主屏幕上选项的顺序。点击链接可以直接跳转到工具描述。
Black Level Correction
Lens Shade Correction
Color Calibration
Auto White Balance
Noise Calibration
Chromatic Aberration Correction – 可选
此外,还有补充工具可供校准使用。
Color Checker Synthesizer
Image Rectifier
XML Generator
5.17.4.6. 黑电平校正
黑电平校正模块从图像数据中减去暗电流。CMOS传感器总会有一些黑电平的偏移,这意味着在没有光线照射的情况下,像素读取的值不会为零。这个黑电平可以通过拍摄对应的RAW图像轻松校准。
黑电平校准原始图像拍摄
使用黑色盒子或黑色物体覆盖传感器,确保没有光线进入传感器。
在传感器上启用BLC功能。
将传感器的曝光模式设置为手动。
对于下表中的每个曝光设置,拍摄五张RAW照片,增益步长为1,从1到最大值(如16);积分时间步长为10ms,从10ms到最大值(如30ms):
| Gain | Integration Time (10ms/step) |
|---|---|
| 1 | 10ms |
| 1 | 20ms |
| 1 | 30ms |
| 2 | 10ms |
| 2 | 20ms |
| 2 | 30ms |
| . . . | 10ms to MAX |
| 15 | 10ms to MAX |
| 16 | 10ms to MAX |
创建以下格式的文件夹:
Gain_<gain>_T_<time>
<gain>是拍摄的原始数据的曝光增益。
<time>是拍摄的原始数据的曝光时间(以秒为单位)。
例如: Gain_4_T_0.03表示曝光增益为4,曝光时间为0.03秒(或30ms)。
使用黑电平校正工具
在校准工具主窗口中,点击“Black Level Correction”选项。

图 5.2‑1 Black Level Correction Button
将出现“Please Input BLC Parameters”窗口,如图 5.2‑2所示。

图 5.2‑2 Please Input BLC Parameters Window
1.点击“Select”选项选择BLC原始数据文件夹。
2.对齐位置文本框:输入实际的Bayer pattern格式。
3.设置输入位宽和输出位宽,有效范围为[8-32]位。
4.设置分辨率:宽度和高度。
5.点击“OK”开始对指定数据进行黑电平计算。
6.合并通道复选框:如果选中,用户可以获得R、Gr、Gb、B的BLC合并测量值;如果未选中,用户可以分别获得R、Gr、Gb、B的测量值。
7. Normal File Out / Extended File Out:如果选择正常文件输出,将输出blc_para.txt;如果选择扩展文件输出,将分别输出不同增益和时间下R、Gr、Gb和B的BLC。
接下来将显示“黑电平与积分时间”的图,如图 5.2‑3所示。

图 5.2‑3 Black Level vs Integration Time Graph
Load Data
BLC窗口左上角的LoadData菜单包含以下选项:

图 5.3‑1 Load Data Menu
GetCompressData:加载压缩数据。
输入数据必须采用如图 5.3‑2所示的格式。
输入数据后,您可以选择“曲线”选项继续校正过程。有关“Curve”选项的详细信息,请参见曲线章节。

图 5.3‑2 Compression Data Format Input Example
GetEpdData:加载解压缩数据。
输入数据必须采用如图 5.3‑3所示的格式。BLC值取决于用户输入的黑电平校正值,并且可以根据不同的位宽重新计算。
输入数据后,您可以选择“曲线”选项继续校正过程。有关“Curve”选项的详细信息,请参见曲线章节。

图 5.3‑3 Decompression Data Format Input Example
GetPDCfg:通过使用外围点插值来恢复原始图像中PD点的像素值。
点击此选项后,将弹出如图8所示的窗口。
由于传感器和图像裁剪参数的差异,PD点的位置会发生变化,但PD点的排列和分布规则不会改变。因此,需要定义图 5.3‑4中的参数以补偿这些差异。

图 5.3‑4 PD Correction Setting
窗口中显示的参数解释如下:
PD_AREA_X:每个块的宽度。 PD点的位置用于将原始图像拆分为几个相同大小的块,然后定位每个块中PD点的位置。
PD_AREA_Y:每个块的高度。
First_pd_x:每个块的x方向偏移距离。
First_pd_y:每个块的y方向偏移距离。
由于PD点的交错排列,图像边缘的一些块可能尺寸较小且PD点不完整。为了使所有块都能分割成相同的大小,需要设置First_pd_x和First_pd_y。

图 5.3‑5 First Shift of Original PD Area
shift_mark[16]
定位每个分割块中包含的每对PD点的坐标。值的数量基于每个块中的PD点数。以图 5.3‑6为例,包含4对PD点。
shift_mark[16] = {6,3, 14,3, 2,11, 10,11,0…0}
shift mark:用于定位块中每个PD点的偏移对。

图 5.3‑6 Block of PD Area
Shift_L_R_X:块中第一个PD点与其右侧点之间的x方向偏移。
Shift_L_R_Y:块中第一个PD点与其右侧点之间的y方向偏移。
每对PD点的左右PD点之间的距离。在定位左侧PD点后,右侧PD点的位置等于

Pd_num_x 和 Pd_num_y:对于每个区块,在x、y方向上分别有PD对的数量。
每个区块包含了PD点的对数,也就是说,每个区块中有 Pd_num_x * Pd_num_y 个PD点。
在定义了所有参数之后,您可以点击“预处理”菜单上传RAW图像。有关“预处理”菜单的详细信息,请参见预处理章节。
曲线
LoadData菜单右侧的Curve选项用于实施黑电平校正。点击此选项后,工具将提示用户选择一个原始文件夹。选择后,程序将递归遍历父文件夹和子文件夹中的所有RAW图像。
选择压缩数据后,点击Curve菜单中的“Compress”选项,但不要选择RAW图像。然后扩展曲线将自动生成。

预处理
在点击LoadData菜单中的“GetPDCfg”后弹出的窗口中设置参数后,选择预处理菜单中的“PdCorrect”选项选择源PD-RAW图像,如图 5.5‑1所示。

图 5.5‑1 PD-Raw File Choosing
5.17.4.7. Lens Shading校正工具
Lens Shading校正工具用于补偿大多数手机镜头产生的渐晕和传感器交叉影响。便宜的镜头往往在图像的角落出现阴影伪影。Lens Shading校正是传感器校准的第二步。Lens Shading校正的结果将直接影响传感器校准的后两个模块(色彩校准和自动白平衡),因此必须确保Lens Shading校正校准正确。
此工具需要一张均匀照明的纯白或灰色图表的图像作为输入。Lens Shading校正块的参数是从此图像中提取的,通过拟合校正参数以观察到的阴影伪影。
非常重要的是,图像必须均匀照明;否则,得出的参数也将校正用于不均匀照明。这种不均匀照明会在实际图像中引入不需要的伪影。此外,图像不得过曝。这可以通过查看测试图像中间的像素值来检查。这些像素值不得超过220(对于8位每像素的情况)。
推荐的测试图像输入格式是RAW,可以存储为*.pgm或*.raw文件格式。工具可以接受其他格式,但用户可能容易在图像和得出的参数中引入不必要的错误。此外,黑电平不为零也会在计算中引入错误。因此,测试图像必须进行黑电平校正,但不能进行其他处理。
LSC工具在处理测试图像之前提供了几个选项。以下部分将描述这些选项。
Lens Shading校正原始图像拍摄
原始图像拍摄设置
Lens Shading补偿图像必须满足以下要求:
整个图像均匀分布的照明
灰色或白色图表上没有任何图案或纹理
曝光必须设置,使图像中心的最高像素值约为220(对于8位每像素的情况)
使用产生日光(>5000 K)的光源
关闭环境照明以避免在图表上产生反射
标准的光箱不适合拍摄图像,因为照明不均匀。下图显示了一个合适的设置示例。这里使用了一个球形透射照明器,其光分布均匀性超过96%。

图 6.1‑1 Example Setup for LSC Test Image
步骤:
设置光源:A/CWF/TL84/D50/D65。
在传感器正对光源的地方覆盖一个扩散器,确保光源均匀照明。建议使用DNP光箱。
调整曝光增益和积分时间,以生成8位情况下范围为30~220的像素值。
拍摄一张RAW格式的图像。
更换光源。
重复步骤1-4。
使用Lens Shading校正工具
Lens Shading校正工具用于确定特定传感器模块的Lens Shading参数,以便与X5 ISP相机接口一起使用。该工具计算必须写入X5 ISP寄存器的参数。
X5 ISP必须配置为所需的图像分辨率,因为计算的参数依赖于图像分辨率。对于每个支持的分辨率,LSC需要不同的参数,必须在初始化时和更改传感器分辨率后写入到X5 ISP寄存器中。
在校准工具主窗口中,点击“Lens Shade Correction”选项以打开LSC Parameter
Optimizer窗口。

图 6.2‑1 Lens Shade Correction Button
为了快速开始,可以通过按照Load Image Menu section 和 RGB Bayer Pattern Layout section 部分中描述的方式将测试图像加载到工具中,并使用所有其他选项的默认设置来推导出LSC(镜头遮光校正)参数。点击“Start”选项并定义参数输出的文件名后,工具将计算参数并将其写入指定的文本文件中。LSC工具的GUI如图 6.2‑2所示。

图 6.2‑2 LSC Parameter Optimizer
RGB Pattern选择

图 6.4‑1 RGB Bayer Pattern Layout
如果输入图像为RAW格式,则必须通过选择适当的单选选项来指定Bayer pattern布局。默认设置为GRGR、BGBG,这意味着图像从图 6.4‑2所示的图案开始。

图 6.4‑2 Bayer Pattern Example of GRGR and BGBG
(可选)CCT
如果您想继承6.6节中描述的信息并自动生成XML,如XML生成器中描述的那样,则需要选择RAW图像的当前色温(CCT),如图 6.5‑1所示。

图 6.5‑1 LSC Parameter Optimizer
如果不选择CCT类型,将直接使用默认的D50。在这种情况下,必须通过配置文件夹和txt文件手动生成XML,如XML生成器中介绍的那样,因为自动生成的XML会产生意外数据。
继承BLC基本信息

图 6.6‑1 LSC Parameter Optimizer
选择“Inherit blc basic Info box”复选框后:
如果已校准BLC模块,将自动继承偏移量、宽度、高度、位和Bayer pattern的信息。
如果未校准BLC模块,将使用默认值。
有关BLC模块的信息,请参见黑电平校正章节。
校正方法

图 6.7‑1 Correction Method
如果测试图像在整个图像上显示相同的颜色,则应选择“one plane vignetting only”。在这种情况下,将为所有颜色分量计算一个通用参数集。
如果测试图像在图像的角落显示不同的颜色,则应选择“four plane”以消除这些颜色伪影。在这种情况下,将分别为每个颜色分量R、G和B计算一个参数集。
Offset扣除

图 6.8‑1 Offset Subtraction
如果在未进行黑电平校正的情况下拍摄测试图像,则可以在LSC工具中设置黑电平偏移值,然后再开始参数计算。可以分别为红色、绿色和蓝色指定单独的黑电平值。使用与色彩校准工具相同的偏移值。
节点位置

图 6.9‑1 Knots Distribution and Grid Part 1

图 6.9‑2 Knots Distribution and Grid Part 2
Knot Positions选项允许定义用于X5 ISP内部双线性校正函数的网格节点位置。水平和垂直节点位置可以手动定义为图片大小的百分比。默认设置考虑到Lens Shading通常在图像边缘具有更高的梯度,因此网格需要在边缘设置更密集以更好地拟合函数。
X5 ISP硬件中提供了16x16和32x32网格部分(17x17节点和32x32节点)。因此,可以根据ISP硬件版本选择16x16或32x32。
图 6.9‑3显示了X5 ISP硬件的16x16 LSC部分的概述。

图 6.9‑3 16x16 Lens Shading Correction Sectors
节点位置始终对称于框架。即,部分X1和X16或部分Y2和Y16的尺寸相同。因此,仅需要指定左上象限中的9x9节点位置。其他三个象限的节点位置通过镜像自动生成。节点位置还支持33x33节点,使网格直接覆盖整个图像。为了配合硬件,还支持32x17选项,使网格覆盖整个图像在x方向,并覆盖图像的上半部分在y方向。
大多数传感器模块的默认节点位置设置可以获得良好的效果。
自动定位初始点

图 6.9‑4 Offset Subtraction
如果选中Automatic initial knot positions复选框,工具将尝试根据应用于测试图像的高斯拉普拉斯滤波操作找到最佳节点位置。然后使用图像内的导数估计最佳节点位置。
默认情况下启用Automatic initial knot positioning。
优化节点位置

图 6.9‑5 Optimize Knot Positions (Non-Linear)
Optimize knot positions (non-linear)部分用于激活一个非线性迭代搜索算法,该算法试图进一步优化参数拟合超出先前获得的结果。通常不需要此优化步骤,且很少能产生比之前更好的结果,因此默认情况下禁用。如果启用此功能,工具的运行时间将显著增加。最大迭代次数可以通过更改Max. iterations文本字段手动调整。
ALSC节点位置

ALSC均匀网格匹配软件级别的自动LSC,强制生成均匀的网格分布,以确保插值的校正。
双线性样条拟合

图 6.10‑1 Bilinear Spline Fitting
默认启用Bilinear Spline Fitting,因为测试图像通常包含一些噪声和图像失真。Bilinear Spline Fitting的结果是一个更平滑的曲线。可以使用Max. points per bilinear surface文本字段增加拟合的采样点。增加采样点也会增加工具的运行时间。
Lambda用于样本点值的连续条件,它将调整图像角落的样本值。如果在LSC计算后,图像角落生成异常像素,用户可以减少lambda以帮助缓解。
Lambda值越小,LSC增益引起的噪声越可能产生。因此,如果Lambda不能在异常像素和噪声之间保持平衡,用户可以直接点击Smooth Gain选项,以避免角落出现异常的LSC增益。
工具启动时显示的给定参数下启用样条拟合。
比例最大值

图 6.11‑1 Maximum Compensation Ratio
默认情况下,Ratio Max为4x,这意味着从中心到角落的最大补偿比例为4倍。也可设定较大的补偿比例6x、8x或16x。
光衰减

图 6.12‑1 Light Fall-Off
渐晕补偿可以指定为百分比值。此值在“补偿”文本字段中指定。默认值为100%,表示LSC参数完全补偿渐晕。选择低于100%的值时,Lens Shading不会完全去除图像中的渐晕。例如,80%的补偿意味着图像角落在补偿后至少有80%的像素强度相对于图像中心。这有助于减少图像外围的噪声放大。此外,补偿后的渐晕形状可以在Drop-off下拉菜单中指定(余弦和三角形)。
尽管可以指定渐晕补偿的程度,但由于像素串扰和镜头红外滤光片等引起的颜色阴影始终完全补偿。
默认Light fall-off设置为100%补偿和cosine drop-off。
颜色阴影和亮度&颜色阴影

点击Color Shading选项以避免生成颜色阴影。如果启用Color Shading选项,则仅颜色阴影会生效。
点击Luma&Color Shading选项以避免生成亮度和颜色阴影。实际上,以前的LSC过程仅包括亮度阴影。如果启用Luma&Color Shading选项,亮度和颜色阴影都会生效。
启动选项
在GUI中定义所需的选项后,需要按工具右下角的Start选项,如图 6.14‑1所示。

图 6.14‑1 The Start Button
这将打开一个文件选择器框,在其中需要通过输入适当的文件名来定义存储参数的文本文件。工具根据指定的选项计算LSC参数。根据指定的选项和PC的处理能力,计算需要一些时间才能完成。进度可以在工具初始化期间打开的命令窗口中监控。计算完成后,结果参数将在3D图形窗口中显示,如图 6.14‑2所示。

图 6.14‑2 3D Graphical Output for Parameter Set After One Plane Optimization
LSC工具的示例输出
图 6.14‑3显示了一个从扩散光箱照明器的测试图像生成的示例参数集。
%***************************************************************************
%* LSC parameter optimizer *
%***************************************************************************
LSC_CALIB_IMAGE_NAME = 'pict063_A.pgm'; LSC_CALIB_IMAGE_BayerLayout = 'RGGB';
LSC_sectors = 16; % Using 2x8 sectors in each direction. % Automatic grid refinement chosen!
LSC_Compensation_Percentage = 100; LSC_Compensation_Shape = 'cosine';
% Data for hardware programming:
% ------------------------------
LSC_planes = 4; % Using FOUR planes for LSC
LSC_No = 10; LSC_Xo = 15; LSC_Yo = 15;
LSC_SECT_SIZE_X = [115 126 137 150 164 185 204 215];
LSC_SECT_SIZE_Y = [ 92 97 106 117 129 135 146 150];
LSC_RESOLUTION_X = 2592; LSC_RESOLUTION_Y = 1944; LSC_BLS_BIT_DEPTH = 16;
LSC_BLS_R = 4096; % based on 16-bits LSC_BLS_Gr = 4096;
LSC_BLS_Gb = 4096; LSC_BLS_B = 4096;
% Tables for hardware programming:
% --------------------------------
LSC_SAMPLES_red =
[2871 2606 2444 2315 2199 2109 2042 1973 1938 1972 2042 2131 2214 2307 2427 2540 2699
2696 2463 2333 2222 2109 2005 1912 1841 1825 1855 1927 2014 2122 2228 2334 2453 2577
2540 2382 2258 2124 2018 1899 1797 1721 1693 1734 1806 1910 2024 2148 2243 2351 2487
2434 2285 2160 2035 1902 1776 1669 1583 1551 1583 1668 1778 1894 2026 2148 2269 2384
2354 2200 2073 1937 1788 1668 1539 1440 1393 1441 1534 1662 1792 1918 2063 2172 2284
2264 2121 1978 1834 1699 1555 1416 1303 1254 1291 1398 1538 1681 1818 1959 2095 2212
2203 2057 1918 1764 1609 1459 1306 1181 1139 1174 1284 1434 1594 1741 1883 2016 2160
2156 2016 1866 1702 1554 1391 1220 1104 1052 1090 1196 1360 1516 1670 1821 1968 2115
2147 2006 1845 1691 1534 1362 1199 1070 1024 1056 1165 1328 1494 1657 1810 1950 2102
2183 2023 1872 1707 1556 1383 1217 1089 1035 1071 1182 1343 1512 1669 1820 1971 2108
2221 2063 1919 1753 1597 1439 1283 1151 1100 1132 1244 1397 1554 1706 1855 2006 2147
2283 2123 1987 1818 1681 1518 1374 1252 1197 1230 1339 1477 1632 1781 1930 2079 2198
2346 2213 2061 1921 1757 1621 1488 1378 1320 1362 1453 1590 1723 1864 2018 2144 2298
2459 2298 2149 2005 1853 1719 1597 1492 1454 1478 1573 1682 1819 1955 2095 2220 2355
2567 2370 2233 2103 1960 1825 1708 1621 1576 1607 1686 1797 1921 2054 2175 2299 2447
2698 2478 2309 2181 2044 1921 1815 1726 1697 1717 1793 1907 2011 2134 2258 2386 2528
2921 2575 2409 2249 2140 2028 1913 1837 1807 1811 1904 1988 2118 2224 2332 2464 2645];
LSC_SAMPLES_greenAtRedLine =
[2476 2242 2129 2023 1943 1856 1778 1736 1716 1730 1811 1897 1984 2084 2198 2284 2420
2313 2147 2051 1949 1854 1765 1702 1635 1619 1650 1712 1811 1925 2025 2114 2220 2332
2206 2090 1977 1878 1789 1700 1611 1560 1529 1564 1642 1742 1844 1966 2063 2158 2275
2122 2009 1905 1810 1706 1607 1519 1442 1416 1454 1543 1660 1770 1890 1999 2088 2210
2069 1942 1834 1725 1622 1519 1410 1337 1294 1340 1432 1559 1685 1817 1924 2037 2139
1992 1875 1769 1657 1541 1426 1315 1218 1181 1219 1335 1469 1613 1734 1858 1967 2095
1958 1830 1724 1595 1477 1360 1225 1124 1091 1132 1240 1395 1538 1683 1810 1934 2048
1936 1820 1699 1572 1448 1313 1176 1069 1034 1078 1189 1351 1509 1649 1794 1904 2038
1927 1813 1696 1565 1444 1305 1168 1056 1024 1061 1178 1340 1499 1652 1786 1906 2033
1960 1835 1721 1595 1468 1342 1196 1093 1055 1100 1210 1377 1528 1676 1814 1933 2063
2016 1885 1777 1654 1533 1412 1275 1174 1133 1175 1290 1440 1596 1734 1859 1999 2098
2066 1952 1839 1719 1611 1489 1376 1275 1240 1284 1386 1537 1664 1806 1938 2046 2173
2131 2029 1913 1808 1703 1600 1488 1402 1371 1409 1503 1633 1755 1893 2008 2112 2231
2235 2106 2006 1895 1794 1689 1600 1525 1504 1531 1624 1730 1852 1965 2093 2183 2303
2336 2173 2081 1977 1883 1786 1704 1631 1613 1647 1727 1825 1946 2063 2160 2251 2380
2475 2274 2157 2053 1969 1875 1782 1723 1703 1733 1807 1914 2022 2122 2232 2326 2443
2654 2388 2241 2149 2058 1965 1895 1837 1837 1851 1937 2020 2119 2225 2308 2425 2560];
LSC_SAMPLES_greenAtBlueLine =
[2481 2243 2125 2019 1930 1841 1750 1717 1693 1726 1796 1880 1975 2088 2198 2290 2424
2308 2136 2045 1934 1829 1747 1665 1583 1573 1625 1684 1797 1915 2021 2119 2226 2342
2202 2088 1969 1866 1768 1673 1576 1527 1495 1530 1622 1733 1837 1961 2071 2167 2290
2125 2003 1899 1798 1687 1581 1485 1410 1391 1431 1526 1643 1766 1891 1997 2099 2213
2068 1935 1832 1719 1607 1496 1387 1304 1273 1317 1426 1553 1677 1818 1927 2046 2154
1993 1880 1765 1652 1529 1413 1293 1198 1161 1206 1323 1467 1616 1735 1866 1978 2107
1966 1830 1722 1593 1473 1348 1209 1112 1079 1126 1240 1396 1545 1687 1824 1948 2070
1941 1822 1698 1569 1440 1311 1171 1064 1031 1077 1191 1357 1516 1660 1804 1922 2054
1930 1817 1699 1565 1445 1304 1166 1057 1024 1068 1183 1349 1516 1670 1799 1930 2064
1969 1846 1729 1601 1475 1350 1206 1099 1068 1107 1227 1393 1547 1699 1837 1966 2089
2024 1894 1791 1663 1540 1422 1285 1188 1148 1194 1315 1464 1625 1761 1887 2031 2133
2080 1960 1854 1735 1629 1504 1396 1297 1267 1316 1421 1574 1700 1839 1980 2078 2213
2146 2045 1926 1824 1720 1622 1513 1435 1407 1458 1550 1681 1794 1934 2058 2153 2273
2243 2122 2027 1916 1822 1716 1642 1569 1562 1592 1686 1789 1897 2020 2141 2230 2346
2355 2190 2102 1996 1906 1820 1738 1681 1670 1718 1791 1882 2001 2113 2216 2307 2417
2492 2292 2179 2081 2003 1913 1839 1789 1782 1823 1894 1994 2080 2193 2283 2376 2506
2665 2405 2261 2172 2072 1999 1930 1884 1900 1919 1996 2068 2172 2253 2353 2466 2600];
LSC_SAMPLES_blue =
[2187 1959 1883 1779 1720 1632 1581 1526 1508 1515 1570 1640 1709 1797 1894 1984 2106
2070 1915 1832 1744 1661 1602 1538 1476 1450 1469 1511 1587 1680 1765 1868 1958 2054
1962 1856 1763 1687 1607 1530 1468 1411 1384 1411 1464 1530 1623 1722 1823 1900 2014
1882 1785 1698 1604 1533 1449 1390 1341 1311 1328 1385 1467 1557 1651 1755 1842 1939
1811 1713 1621 1527 1456 1381 1320 1250 1218 1245 1318 1405 1494 1582 1691 1793 1886
1758 1655 1559 1470 1389 1317 1236 1173 1127 1172 1249 1352 1440 1538 1651 1748 1826
1711 1610 1515 1424 1337 1259 1175 1091 1074 1108 1196 1295 1405 1512 1614 1730 1813
1672 1579 1483 1385 1309 1221 1126 1046 1024 1066 1154 1276 1389 1499 1606 1706 1810
1686 1568 1470 1386 1302 1210 1120 1034 1024 1063 1157 1284 1402 1502 1621 1732 1830
1677 1581 1491 1395 1312 1234 1136 1070 1046 1092 1188 1315 1424 1532 1647 1750 1850
1702 1605 1520 1424 1359 1276 1194 1124 1113 1160 1260 1378 1485 1593 1700 1798 1888
1742 1648 1569 1488 1414 1334 1279 1213 1206 1257 1345 1459 1554 1658 1768 1856 1962
1806 1709 1622 1543 1481 1433 1354 1324 1307 1367 1444 1542 1632 1736 1840 1930 2000
1873 1755 1682 1625 1548 1482 1439 1411 1411 1458 1526 1623 1704 1811 1907 1986 2087
1946 1819 1760 1680 1619 1560 1522 1484 1504 1562 1612 1719 1783 1885 1969 2057 2141
2037 1895 1806 1753 1697 1640 1600 1568 1574 1632 1694 1772 1844 1944 2027 2117 2206
2195 1964 1886 1800 1762 1693 1660 1643 1665 1706 1772 1835 1936 1983 2108 2169 2279];
图 6.14‑3 Example Parameter Set
LSC工具输出的各种部分的描述显示在表格 6.14‑1的表格中。
| Section Name | Description |
|---|---|
| LSC_SECT_SIZE_X | horizontal (X) sector sizes for first quadrant of the image in pixels |
| LSC_SECT_SIZE_Y | vertical (Y) sector sizes for first quadrant of the image in pixels |
| LSC_XGRAD_1plane | gradients to programmed into X5 ISP registers for X direction |
| LSC_YGRAD_1plane | gradients to programmed into X5 ISP registers for Y direction |
| LSC_SAMPLES_1plane | sample values for the knots of the correction grid to be programmed into X5 ISP registers |
表格 6.14‑1 Description of LSC Tool Output Sections
将LSC应用于图像

图 6.15‑1 Apply LSC to Image
在LSC(Lens Shading Correction)参数计算完成后,会生成一个输出文件,如第LSC工具的示例输出章节中的说明。这个输出文件中的参数可以通过将它们应用到测试图像上来进行视觉检查。要做到这一点,测试图像必须预先加载。点击“Apply LSC to Image”选项,并选择生成的参数文件。然后,LSC 工具的图像窗口将显示校正后的测试图像,并展示所选参数集的二维可视化。
RTL中的精度

图 6.16‑1 Accuracy in RTL
“Accuracy in RTL” 部分用于使LSC(Lens Shading Correction)工具适应不同版本的X5 ISP(图像信号处理器)。
Open Image in Window

图 6.17‑1 Open Image in Window
“ open image in window “选项用于在单独的窗口中打开显示的图像。这样可以对图像进行缩放并显示图像的像素值。
Save Image to File

图 6.18‑1 Save Image to File
点击“save image to file”选项会打开一个对话框,允许将显示的图像保存到文件中,以便进一步处理或查看。
5.17.4.8. Color Calibration
大多数消费者产品提供的图像都是在一个指定的色彩空间中,最常见的是 sRGB。CMOS 传感器产生的传感器特定色彩空间不同于 sRGB。因此,必须移除相机传感器的色彩空间。这是通过使用色彩校正矩阵和自动白平衡(AWB)增益来实现的。 色彩校准工具用于调整 X5 ISP 的色彩校正矩阵,以生成在不同照明条件下的正确色彩,并计算传感器特定的色彩配置文件。色彩配置文件是 X5 ISP 处理链中变换矩阵和各个红、绿、蓝增益的组合。色彩配置文件基于光源的测量光谱和传感器的光谱响应来计算。这是通过在定义的照明条件下拍摄已知色卡(称为 ColorChecker,以前称为 Gretag Macbeth ColorChecker)的图像来实现的。
本节提供了有关如何使用色彩校准工具的分步教程。
色彩校准-原始图像拍摄
在视野中心设置 ColorChecker 图表。
设置光源:H/A/CWF/TL84/D50/D65/D75。注意:推荐使用 D65 光源。
调整传感器焦距对准 ColorChecker。
调整曝光增益和集成时间,以生成像素值在 [30..220] 范围内(8 位情况下)。
确保 ColorChecker 的白块值小于 208(8 位),黑块值大于黑电平校正值。
在不同的曝光设置下,拍摄原始格式的图像。
更换光源(H/A/CWF/TL84/D50/D65/D75)。
重复步骤 2-7。
设置 ColorChecker
为了更高的准确性,推荐在色彩校准过程中使用如图 7.1‑1所示的 ColorChecker® SG(半光)图表。

图 7.1‑1 ColorChecker SG Chart
SG图表有140个颜色贴片,而如图 7.1‑2所示的标准ColorChecker图表只提供24个;然而,标准ColorChecker对于颜色校准来说已经足够了。

图 7.1‑2 ColorChecker SG Chart
SG图表在灯箱中以45°/0°的排列方式放置。因此,光源直接从上方照射图表,相机从一个45°角拍摄照片。这导致照明更加均匀,减少了光源本身的反射(光泽效果),并且测量了图表的真实反射。

图 7.1‑3 45°/0° SG Chart/Light Source Arrangement

图 7.1‑4 Lightbox Arrangement in the Lab
这种排列方式在图像中导致了图表的梯形变形。这种变形在颜色校准工具中得到了补偿。
另一个问题是灯箱的非均匀光分布和传感器的镜头遮光效应。通过拍摄光分布的图像来补偿这些影响。有了光分布作为额外的输入,颜色校准工具可以补偿这些效果。因此,对于每一个图像,都需要从同一位置拍摄第二张显示光分布的图像。这张图像在颜色校准工具中被称为背景图像。
Note:ColorChecker背后的背景不能有任何结构或纹理;只允许纯灰色背景。如果ColorChecker背后的背景不是灰色的,工具将计算出错误的参数。

图 7.1‑5 Sample Snapshot and Snapshot of Light Distribution
颜色校准工具还需要知道所拍摄图像的黑电平。R、Gr、B和Gb的黑电平必须作为参数输入到图形用户界面(GUI)中。
为了确定黑电平,当镜头完全被覆盖时(例如,用一张黑纸),拍摄一张图像。其他图像应该使用相同的X5 ISP配置。不同的配置可能导致不同的黑电平。
请确保自动曝光(AE)是关闭的,因为AE会导致增益增加到最大,这会引入过多的噪声并改变黑电平。
然后,如果知道Bayer图案的排列,可以使用图形程序确定黑电平。有关如何提取单个像素值的额外信息,请参见下文关于PGM文件格式的段落。

图 7.1‑5 Snapshot for Black Level Determination
EXAMPLE_COLOR_CALIBRATION文件夹包含了在上述条件下拍摄的一些示例图像。
总结如下:
使用ColorChecker SG图表
45°/0°排列方式
对于每一个图像,拍摄第二张显示光分布的图像(保持确切位置)
拍摄一张黑电平的图像(关闭AE,相同的帧定时)
X5 ISP的配置
拍摄图像时应具有足够的分辨率。推荐的最小分辨率为1024x768,约20x20像素用于原始图像中的最顶部块(每个通道10x10像素)。
为了避免X5 ISP或JPEG编码器的任何处理,图像应以原始数据格式从传感器写入便携式灰度图(.PGM)文件。 没有公认的图像格式来存储原始Bayer数据。PGM是一种用于灰度图像的简单格式。此格式用于容纳原始Bayer数据。优点是可以使用任何图形程序打开图像,并提供对单个像素数据的访问。缺点是图像以灰度显示(不是彩色)。没有进行去马赛克处理。当放大时可以看到Bayer图案。可以确定所有通道的各个像素的值:红色(R)、绿色(Gr)、蓝色(B)和绿色(Gb)。
曝光必须设置为不超过图像最大像素值的80%。否则有可能进入传感器的非线性饱和范围。因此白块中的所有像素值不应超过204(8位输出),以保持足够的距离离开饱和范围。
使用AE(自动曝光)通常会导致图像曝光不足或过度曝光。AE没有调整到适合我们分析的测量问题的良好结果。调整实际实施中的循环设定点无法提供足够精细的调整。然而,可以使用AE进行初步照明估计。先打开AE拍摄第一张图像(甚至可以使用JPEG图像,这样更快)。查看AE在传感器寄存器中编程的内容。查看图片中的像素值。从中插入传感器寄存器的新设置。
总结:
分辨率>= 1024x768
原始图像
PGM格式
像素值<205
使用色彩校准工具
色彩校准工具用于调整X5 ISP的色彩校正矩阵,以在不同照明条件下生成正确的色彩,并计算传感器特定的色彩配置文件。色彩配置文件是X5 ISP处理链中变换矩阵和各个红、绿、蓝增益的组合。
大多数消费级数字相机提供指定颜色空间的图像;最常见的颜色空间是sRGB。CMOS传感器产生的是特定于传感器的颜色空间,这与sRGB不同。因此,相机传感器的颜色空间必须转换为sRGB颜色空间,并去除像色差这样的伪影。这是通过X5 ISP的颜色校正矩阵和自动白平衡(AWB)增益来完成的。
sRGB颜色空间是针对CIE标准照明体D65定义的,因此sRGB的参考值是使用D65照明推导出来的。通过色彩校正卡目标上的颜色进行线性回归,可以找到将相机RGB空间线性转换到sRGB空间的方法。因此,颜色校准工具计算了一个最小二乘线性变换,它使用在特定照明条件下由传感器拍摄的ColorChecker(标准或SG)的一张校准图像。
目标颜色空间可能是任何其他RGB颜色空间,这取决于作为输入文件加载到颜色校准工具中的参考值。
在主校准工具窗口中,如图 3.1‑1所示,点击颜色校准选项以打开颜色校准工具窗口,如图 7.2‑1所示。

图 7.2‑1 Color Calibration Tool GUI
加载
在处理之前,至少需要加载一张色彩校正卡的图像和参考数据。为此,可以使用“Load”菜单,该菜单包含以图 7.3‑1形中显示的项。

图 7.3‑1 Load Calibration Files
加载sRGB参考文件
RGB色彩校正卡的参考文件可以以ASCII格式(RGB值以制表符分隔)加载,也可以以MATLAB格式(*.mat)或X-Rite i1 spectrophotometer支持的CXF文件格式加载。MATLAB格式可以是24x3(标准ColorChecker)或140x3(ColorChecker SG)的矩阵。
sRGB参考值必须是线性的(未进行Gamma校正)并且在[0..1]范围内。然而,如果色彩校正卡的色域不能完全适应目标色域,在参考列表中可能会出现负值或大于一的值。颜色是按行然后按列排序的。加载的参考类型决定了校准过程中使用标准还是SG色彩校正卡。
文件SG_sRGB_reference_D65_linear.mat包含了在D65照明下ColorChecker SG的线性sRGB值。ColorChecker的RGB坐标参考值描述了XYZ值,每个校正卡字段在D50照明下的XYZ值由X-Rite(最初来自GretagMabeth)提供。由于sRGB的白点是D65,所以使用Bradford色差适应转换将白点从D65转换到D50。然后,XYZ转换为sRGB。
如果可用,建议直接加载用X-Rite i1直接测量的CXF文件。需要将色彩校正卡的贴片逐行测量并存储在CXF文件中。参见SG色彩校正卡参考文件CC_SG.cxf。
由于校准是在线性数据上执行的,所以不对参考值应用Gamma。图 7.3‑2显示了Saturation滑块和色相滑块。加载sRGB参考文件后,您可以使用饱和度滑块(1.00表示饱和度不变,低于和高于1.00的值会减少或增加饱和度)和Hue 滑块调整RGB参考的饱和度和色相。这两项操作都是在HSV颜色空间中执行的。

图 7.3‑2 Saturation Slider and Hue Slider
参考颜色可以根据“Clip Reference Colors”复选框的设置进行裁剪或保持不变。如果颜色空间不包含ColorChecker的所有色度(例如,sRGB颜色空间就是这种情况),这可能就很重要。然后,所有位于颜色空间色域之外的颜色都会被裁剪。裁剪后的参考颜色将用于校准(默认设置)。

图 7.3‑3 ColorChecker SG Gamut Out of Range of the sRGB Gamut
此外,可以通过勾选“Bradford Chrom. Adapt”复选框对参考颜色执行色差白点适应。这种适应方法基于Bradford变换。

图 7.3‑4 Bradford Chrome Adaptation Checkbox
加载Color Checker图像
ColorChecker图像的文件格式可以是原始的Bayer格式或下表中列出的任何支持的文件格式。
| Format | Full Name | Variants |
|---|---|---|
| bmp | Windows Bitmap (BMP) | 1-bit, 4-bit, 8-bit, 16-bit, 24-bit, and 32-bit uncompressed images and 4-bit and 8-bit run length encoded (RLE) images. |
| gif | Graphics Interchange Format (GIF) | 1-bit to 8-bit images. |
| jpg or jpeg | Joint Photographic Experts Group (JPEG) | Any baseline JPEG image or JPEG image with some commonly used extensions, including Image Type Bit depth Compression, grayscale 8- or 12-bit lossy, grayscale 8-, 12-, or 16-bit lossless, RGB 24- and 36-bit lossy or lossless. |
| pbm | Portable Bitmap (PBM) | 1-bit images using either raw (binary) or ASCII (plain) encoding. |
| pcx | Windows Paintbrush (PCX) | 1-bit, 8-bit, and 24-bit images |
| pgm | Portable Graymap (PGM) | ASCII (plain) encoding with arbitrary color depth, or raw (binary) encoding with up to 16 bits per gray value. |
| png | Portable Network Graphics (PNG) | 1-bit, 2-bit, 4-bit, 8-bit and 16-bit grayscale images; 8-bit and 16-bit indexed images; and 24-bit and 48-bit RGB images. |
| pnm | Portable Anymap (PNM) | PNM is not a file format itself. It is a common name for any of the other three members of the Portable Bitmap family of image formats: Portable Bitmap (PBM), Portable Graymap (PGM) and Portable Pixel Map (PPM). |
| ppm | Portable Pixmap (PPM) | ASCII (plain) encoding with arbitrary color depth or raw (binary) encoding with up to 16 bits per color component. |
| ras | Sun Raster (RAS) | 1-bit bitmap, 8-bit indexed, 24-bit true color and 32-bit true color with alpha data. |
| tifor tiff | Tagged Image File Format (TIFF) | Any baseline image,including 1-bit, 8-bit, and 24-bit uncompressed images; 1-bit, 8-bit, and 24-bit images with packed bits compression; 1-bit images with CCITT compression; and 16-bit grayscale, 16-bit indexed and 48- bit RGB images. |
表格 7.3‑1 Supported File Formats
原始图像必须是8位、10位、12位或16位(未插值)的Bayer CFA图像,可以是小端或大端格式。
在加载色彩校正卡图像后,可以在GUI中如图 7.3‑5所示的适当面板中选择Bayer Pattern Layout。

图 7.3‑5 Bayer CFA Pattern Layout Selection
如果更改了布局类型,则原始图像将重新插值。因此,也可以通过尝试Bayer CFA图案的四种可能设置来确定加载图像的RGB Bayer布局。产生黄色、蓝色和红色色块最佳的那个设置是最优设置。下图是正确颜色设置的一个示例。

图 7.3‑6 Setting Markers for the Color Patches at the Edges
可以通过旋转和翻转调整图像对齐。请注意,图像最好是线性的,没有应用Gamma校正。因此,强烈建议使用未处理的原始Bayer图像作为输入图像。最佳文件格式为.pgm。
加载背景图像
如果ColorChecker图像是在照明不均匀的灯箱中拍摄的,则可以加载一张额外的图像用于补偿不均匀的照明。这张图像应在与ColorChecker图像相同的条件下拍摄,但不包含ColorChecker。这张图像称为背景图像,也可补偿传感器镜头系统引起的镜头阴影效应。
Note:ColorChecker后面的背景不能有任何结构或纹理。仅允许纯灰色背景。否则工具将计算错误的参数。
如果没有加载背景图像,则跳过背景补偿步骤。
加载Lab-Customer参考
如果需要使用自定义的目标值,点击“Load ”选项并选择“Load Lab-Customer References”。然后工具将提示输入一个*.txt文件。文件内容格式如图 7.3‑7所示。自定义目标值在Lab空间中。

图 7.3‑7 Lab-Customer References
加载参考图像
如果要使用参考图像作为色彩参考或白平衡参考,点击**“Load”**选项并选择“Load Reference Image然后工具将允许选择一个参考图像。用户可以点击“Ref-CC Img”选项显示并检查该图像。
LSC
对于产生显著彩色镜头阴影的传感器,应通过LSC菜单加载由镜头阴影校正(LSC)工具生成的镜头阴影补偿参数。通过这样做,彩色镜头阴影将被补偿,色彩校正矩阵将更加准确。
如果加载的LSC配置文件已经包含黑电平补偿(通常是这种情况),则黑电平补偿将使用LSC配置文件中给出的值。这些值在色彩校准工具中不能再更改,并且用于黑电平的GUI设定将被禁用。否则黑电平补偿将被执行两次,导致错误的色彩校正矩阵值。

(可选)继承LSC信息
从镜头阴影校正模块继承LSC信息的过程类似于从黑电平校正模块继承BLC信息的过程,如继承blc基本信息章节所述。

图 7.5‑1 CCT Type Selection and LSC information Inheritation
如果您想要继承信息,包括来自镜头遮光校正(LSC)模块的BLS(偏移量)、Bayer图案、宽度、高度和位深度的值,您需要确保在颜色校准模块中选择的CCT(相关色温度)类型与LSC模块中的相同,如第(可选)CCT章节中所述。
在选择正确的CCT类型后,勾选“Inherit lsc Info”复选框,然后从LSC模块继承的数据将被正确输出。在这种情况下,您不需要加载LSC文件,因为工具将自动读取从LSC模块生成的LSC值。否则,您必须加载一个LSC文件。如果原始图像拍摄为20位或24位,原始图像的显示会稍暗。因此,用户可以设置Dgain值使图像更亮。
锚点选择

图 7.6‑1 Self-Define Input Patch RGB
在加载了物体颜色校正卡图像之后,用户需要在点击Calibrate选项之前配置锚点选择方法。
自动选择器:默认方法。仅在图像拍摄质量足够好时有效。
半自动选择器:推荐方法。
在点击Calibrate选项后,执行以下步骤:
点击锚点。
等待自动选择过程完成。
手动选择器:
在点击校准选项后,手动选择锚点并覆盖每个颜色贴片。
客户输入(仅限RGB):当颜色校正卡ROI(感兴趣区域)太小而无法用于提取贴片值时使用。您可以使用第三方工具手动测量每个贴片的平均像素值,并将值写入*.txt文件。文件内容应按图 7.6‑2所示的格式。

图 7.6‑2 Customer Input RGB Value Format
在点击校准选项之后,颜色校准工具将提示用户加载 *.txt 文件。
功能
选择ROI
有时仅加载色卡图像而没有背景图像或LSC文件。如果需要应用白平衡(即白色区域),可以通过“Select ROI”功能手动选择白色区域,如下图 7.7‑1所示。

图 7.7‑1 ROI Selection
选择ROI后,可以在Calibration面板中选择white balance和“Only WB”复选框,如图 7.7‑2所示。white balance复选框包含gray world,input wb和neutral patches的选项。如果要使用自定义的白平衡值,可以通过选择“input wb”手动输入白平衡值。
如果选中了white balance复选框但没有选择“Only WB”复选框,将计算颜色校正矩阵(CCM)和白平衡。如果同时选择了white balance和“Only WB”,则只会计算白平衡。

图 7.7‑2 White Balance Calibration Selection
配置这些设置后,可以按照校准章节中的说明选择“Calibrate”选项。
(可选)应用WB CCM
如果用户已经点击了“Load Reference Image”选项,并将参考图像加载到工具中,接着点击“Select Reference Color Checker”选项。然后,颜色校正卡的选择将开始,用来识别CC值(色彩校正卡的值)。
选择参考白平衡
如果用户已经点击了“Load Reference Image”选项,将参考图像加载到工具中,并选择了target WB选项,那么,接下来点击“Select Reference WB”选项。白平衡感兴趣区域(WB ROI)的选择过程将开始,以识别参考白平衡的值。
校准
颜色校准过程是通过按下位于图形用户界面(GUI)左下角的Calibrate选项来启动的。如果也选中了锚点选择章节中介绍的automatic picker,将显示一个十字光标,用来标记ColorChecker边缘的四色贴片。

图 7.8‑1 Calibration Panel
将光标定位到一个颜色贴片的中间后,必须按下鼠标左键以设置标记。标记完所有四个颜色贴片后,计算过程开始。
如果automatic picker选项未被选中,则会显示手动选择器。在这种情况下,会显示一个蓝色网格,可以将其放置在ColorChecker目标上。第一次点击鼠标左键设置初始位置,随后的鼠标左键点击会修改最近网格角的位置。当网格适应ColorChecker时,蓝色方块会覆盖在棋盘格字段上,右键点击鼠标选项完成选择器的对齐。注意,网格中的绿色方块标记了左上角的棋盘格字段,红色方块标记了右侧的棋盘格字段。
现在,从棋盘格目标图像中提取颜色,并执行图 7.8‑2所示的校准流程。

图 7.8‑2 Calibration Pipeline
输入图像数据是使用具有线性传感器曲线特性(无Gamma校正)拍摄的,并且没有任何ColorChecker字段曝光过度。
校准从黑电平补偿开始,即从红色、绿色和蓝色通道中减去四个偏移量。由于CFA布局中两个绿色像素的光谱响应可能不同,因此为绿色定义了两个偏移量,但内部使用两个值的平均值进行补偿,因为颜色贴片将被平均。黑电平通常取决于传感器属性,应利用传感器边缘区域的黑色层像素或通过拍摄完全黑色的图像(镜头被覆盖)来测量每张校准图像的黑电平。
为了准备接下来的步骤,将拍摄的ColorChecker的白色和黑色贴片的亮度与参考黑色和白色棋盘格的亮度值同化。因此,所有拍摄的目标颜色都通过一个偏移(仿射变换)进行缩放和平移,使得输入和参考的黑色和白色贴片具有相同的亮度。对于标准ColorChecker,使用白色和黑色字段;对于ColorChecker SG,使用E5和J5字段。白色贴片同化是必要的,以在颜色转换后保留整体亮度。黑色贴片同化确保棋盘格目标的对比度与参考值相同。
下一步,执行自动白平衡(AWB),通过调整每个R、G和B颜色通道的增益来校正白点。AWB是通过使用lightbox的灰色背景或通过调整ColorChecker的中性(灰色)贴片来实现的。如果工具没有执行AWB,则必须取消选中white balance复选框。
通过最小二乘拟合确定3x3颜色变换矩阵。可选地,在颜色校正矩阵之后计算额外的偏移量,这可以改善拟合的均方误差。通过在校准面板上选中**CC Offsets (flare)**复选框来选择额外的偏移量。
拟合可以加权,这样特定的字段可以更多地影响拟合结果,如图 7.8‑3所示。

图 7.8‑3 Field Weights
例如,当白色贴片的权重设置为2时,白色贴片将比其他字段对结果产生两倍的影响。
如果额外的偏移值在图像的暗部区域产生裁剪,则可以通过增加黑色和深灰色贴片的权重来改善偏移计算;然而,这也会影响其他颜色贴片的再现。使用SG ColorChecker也可以改善偏移计算。
相应的工具命令窗口用于显示信息消息以及错误消息。例如,一个信息消息显示最后一次运行的均方误差,并显示“SSE_withGamma =”。此线下的值提供了拟合质量的指示,并且可以用作连续运行改进的度量:值越低,拟合越好。
如果使用了上述的“field weights”功能,那么均方误差给出了通过将当前值与前值比较所实现的改进的指示。
由于标准ColorChecker包含在SG类型中,权重也适用于SG类型。
颜色校正可以在进一步的处理步骤中进行优化。如果选中了“Optimize in CIELAB”复选框,那么在线性回归之后将执行非线性矩阵优化过程。此优化步骤的目标是改善CIELAB空间中的残余delta E*颜色误差。优化可能需要几分钟,具体取决于CPU性能,进度可以在命令行窗口中跟踪。
相机输入和颜色校正输出都通过输出Gamma(sRGB的Gamma为2.2)进行校正,并在GUI中显示。如果选择了不同的目标颜色空间,可以调整Gamma值。作为额外的选项,可以通过选中MARVIN gamma curve复选框来选择由外部文本文件定义的Gamma曲线。在这种情况下,使用由16个线性段定义的Gamma曲线。Gamma曲线定义的一个示例如下:
% Gamma out curve
gamma_equi = 0; % equidistant segmentation
gamma_log = 1; % logarithmic segmentation
ISP_gamma_out Y 0 = 0;
ISP_gamma_out Y 1 = 50;
ISP_gamma_out Y 2 = 90;
ISP_gamma_out Y 3 = 150;
ISP_gamma_out Y 4 = 230;
ISP_gamma_out Y 5 = 340;
ISP_gamma_out Y 6 = 440;
ISP_gamma_out Y 7 = 520;
ISP_gamma_out Y 8 = 575;
ISP_gamma_out Y 9 = 660;
ISP_gamma_out Y 10 = 720;
ISP_gamma_out Y 11 = 775;
ISP_gamma_out Y 12 = 864;
ISP_gamma_out Y 13 = 929;
ISP_gamma_out Y 14 = 976;
ISP_gamma_out Y 15 = 1008;
ISP_gamma_out Y 16 = 1023;
gammaValue = 1/2.0; % For displaying and comparing purposes required in the GUI,
% if not applicable: set to 1
通过按下“Plot Gamuts”选项,参考和颜色校正线性色域在3D RGB图中可视化。为了区分色域,参考色域以90%透明显示,相机输入以50%透明显示。

图 7.8‑4 The sRGB Gamut (90% Transparent) and the Color Corrected Gamut
原始和颜色校正后的图像(Gamma校正)可以在大图像窗口中查看。请注意,整个校准过程都在线性RGB空间中进行。颜色校正后应用Gamma校正。这样做的唯一目的是显示Gamma校正结果,以便更好地查看和保存输出图像。
校准完成后,将显示输出图形,显示白平衡与参考贴片的拟合程度。下图中显示了参考灰色贴片的值与目标校正后的灰色贴片的值的比较。

图 7.8‑5 Output Figure Showing Gray Patch Comparison
此外,图 7.8‑6中显示了以CIELAB表示的颜色残差误差。

图 7.8‑6 Output Figure Showing the Color Correction Residuals (CIELAB Color Space)
保存参数
在点击Calibrate选项后,计算出的颜色校正矩阵参数、白平衡增益以及可选的偏移值将显示在下图所示的单独输出窗口中。

图 7.9‑1 Example Parameter Output
通过在输出窗口中按下**Save parameters (ASCII)**选项,可以将参数保存到文本文件中。稍后这个保存的文件将用于AWB工具,以及将矩阵值写入到X5 ISP寄存器中。
保存图像菜单
可以通过在Save Image菜单中选择Save Output Image菜单项来将颜色校正后的输出图像保存到文件,如图66所示。然后,这个图像文件可以用来与IMATEST或其他成像工具一起检查结果颜色。

图 7.10‑1 Save Image
5.17.4.9. 自动白平衡工具
自动白平衡工具用于在传感器调校过程中计算自动白平衡(AWB)软件控制回路的参数。
自动白平衡原始图像拍摄
步骤 1) 将灰板的完整图像置于视场中。
步骤 2) 调整曝光设置。
步骤 3) 像素值应在80到150(8位)的范围内。
步骤 4) 使用灰板,在不同光源下(H/A/CWF/TL84/D50/D65/D75)以RAW格式拍摄图像。
使用自动白平衡工具
自动白平衡工具为主机软件中的AWB和自动颜色校正(ACC)控制回路提供参数。该控制回路基于高斯混合模型方法,该方法使用X5 ISP硬件根据白点区分的灰世界方法派生测量值。基于照明白点估计的照明分类在色度(主成分)域中执行。对于这种方法,需要几个特定于传感器的参数。因此,需要对每种要使用的传感器类型进行调校。传感器所需的输入数据是其光谱灵敏度曲线以及AWB/ACC中考虑的每种照明的颜色校正工具的校准输出。计算参数后,可以定义更多参数(tau1, tau2区域扩展用于灰世界白平衡补偿)。下图显示了AWB工具GUI。当AWB工具UI启动时,AWB V1校准过程将在A, F2(CWF), D65下工作。如果用户想使用AWB V2+校准,您可以忽略AWB V1校准。如果用户想使用更多色温的AWB V1校准,您可以通过点击Illumination选项继续添加色温。

图 8.2‑1 AWB Tool GUI
(AWB V1)为正确的AWB操作选择光源
自动白平衡(AWB)工具提供了几个设置自动白平衡的选项。简要推荐了如何选择照明源的方法。有关照明源的概述,可以在Hunter Lab的“Equivalent White Light Sources and CIE Illuminations”,应用说明,2007年(http://www.hunterlab.com/appnotes/an05_05.pdf)中找到。
为了在光源之间实现良好的区分,高斯曲线不应有显著重叠。这反过来意味着色温明显不同的光源是好的候选者;因此,白炽灯照明(照明A)和日光(D65)将是首选。
当添加其他室内光源时,您应考虑您计划使用AWB的地理区域的典型光源类型。在欧洲,常见的光源是CIE F12(也称为TL83,Ultralume 30)和有时F11(TL84,Ultralume 40,SP41)。CIE F2在欧洲不可用。在美国和亚洲,主要使用CIE F2(冷白色荧光灯,CWF)。CIE F12和CIE F11很少使用。
CIE F2(CWF)具有与CIE F11相似的色温,但具有不同的光谱分布。当选择CIE F2作为光源并在CIE F11照明下拍摄图像时,白平衡可能会正常工作(取决于传感器的光谱灵敏度)。唯一的区别将是颜色再现的轻微降低,大多数用户不会注意到。
一个基本的设置,包含三种光源,应该能够很好地适用于室内实验室测试。但是,由于选择了一个室外光源和两个室内光源,从统计上看,AWB将更倾向于选择室内光源而不是室外光源。室内光源的影响大于室外光源的影响,特别是当测量的白点在锁定范围(参数tau1, tau2)外时。在室外使用时,这可能导致非最佳(太蓝)的颜色再现。如果检测到这种效果,我们建议将额外的D75照明纳入AWB配置文件列表作为第四种光源。然后,室外光源的统计权重增加。如果测量的白点在锁定范围外,室外光源的影响也会增加。
因此,对于美国和亚洲,我们建议使用A, CIE F2和D65(可选择扩展到D75),而对于欧洲则建议使用A, CIE F11, D65(可选择扩展到D75)。
(AWB V1)打开传感器光谱灵敏度
打开传感器光谱灵敏度会加载计算参数所需的传感器灵敏度曲线。
图 8.4‑1显示了File菜单中打开Open Sensor Spectral Sensitivities的选项。如果您没有Open Sensor Spectral Sensitivities,并且只想使用AWB V2+校准(AWB V2),用户可以忽略加载Sensor Spectral Sensitivities并继续执行以下步骤。

图 8.4‑1 AWB Tool File Menu GUI
通过点击AWB V1 Calibration来运行AWB版本1。通过点击AWB V2+ Calibration来运行AWB版本2。
如果您使用AWB版本1,您可以通过打开Open Sensor Spectral Sensitivities选项加载曲线,然后点击AWB V1 Calibration。在保存校准数据之前应使用AWB V2+校准。
如果您使用AWB版本2,点击AWB V2+ Calibration。然后保存数据。
光谱响应曲线代表所需图像传感器模块对于红色、绿色和蓝色三种基色的光谱灵敏度。这样的曲线可以从逗号分隔的ASCII文本文件中加载。文本文件必须具有以下格式:
第一列:包含光的波长,单位为纳米。
第二至第四列:包含红色、绿色和蓝色的灵敏度值。
加载适当的文本文件后,会显示一个图表。图 8.4‑2显示了一个示例图表。

图 8.4‑2 Spectral Response Curve of an Image Sensor
曲线的样本点应至少从380纳米提供到730纳米,以10纳米为步长。更细的粒度或更宽的限制将自动裁剪并转换为所需的采样范围。灵敏度值不需要单位,因为工具只需要相对值。内部将灵敏度值映射到[0..1]的范围。请注意,必须保留颜色通道灵敏度之间的关系。
这里显示了这个文本文件的示例内容:
380,0.26226,0.1608,0.31022
390,13.245,10.035,28.801
400,18.964,19.316,68.754
410,24.304,29.598,124.55
420,23.767,30.415,149.12
430,22.543,33.149,161.17
440,22.603,44.127,184.07
450,23.218,55.27,209.67
460,24.063,64.02,215.33
470,27.154,87.469,211.07
480,30.461,127.21,201.2
490,34.762,174.79,177.68
500,41.068,220.16,149.58
510,49.424,248.27,115.77
520,60.926,272.83,92.564
530,66.451,285.46,82.773
540,64.961,274.89,75.672
550,61.985,249.26,66.388
560,61.445,221.64,58.419
570,94.811,191.24,54.405
580,205.04,175.05,59.287
590,278.5,147.42,58.32
600,287.82,111.12,50.848
610,276.31,83.046,44.126
620,234.76,64.909,37.86
630,191.7,52.999,32.985
640,145.74,40.745,26.912
650,85.741,25.098,17.363
660,41.35,13.449,9.4641
670,17.856,6.8833,4.697
680,8.1439,3.7525,2.4365
690,5.8114,3.0677,1.9267
700,3.8089,2.1817,1.3354
710,2.1029,1.2448,0.74725
720,1.795,1.0481,0.62607
730,1.7775,1.038,0.62145
文本文件可以从传感器制造商提供的适当曲线中获得。如果这个曲线不是传感器数据表的一部分,那么必须单独从制造商那里订购。大多数传感器模块除了镜头系统外还包含一个红外滤光片。如果是这种情况,那么灵敏度曲线必须显示包括镜头和红外滤光片在内的传感器灵敏度。
(AWB V1)定义照明文件
需要通过按下图 8.5‑1所示的照明配置文件面板上的Illumination选项来定义照明光谱分布文件。

图 8.5‑1 AWB Tool Illumination Profiles Panel
按下选项后可以定义一个照明源。在读取光谱分布文本文件后,工具需要知道当前照明是Outdoor 还是Indoor 配置文件。相应地选择室内或户外单选选项。然后,光谱分布将显示在适当的窗口中。
照明条件
AWB控制回路使用不同的照明条件下的多组颜色校正矩阵参数。这些照明的光谱分布必须提供给AWB工具以进行参数计算。AWB工具支持无限数量的不同照明。应选择这些照明,使其光谱分布和/或色温有显著差异。结合所选传感器的光谱响应曲线,AWB工具将在PCA域中计算并显示结果表示在工具的主窗口中。
显示的概率分布必须彼此不同。如果不是这样,则必须使用其他照明,直到PCA域中的概率分布不同。如果传感器的光谱响应不允许这一点,则需要减少照明数量。这是一个迭代过程。根据描述,推荐的照明数量是三到六个,具体取决于传感器的光谱响应。
测量照明或CIE照明
要使用的照明是在颜色校准过程中用来推导颜色校正矩阵系数的照明。如果颜色校准是在实验室环境中使用真实的光源完成的,那么这里必须提供这些光源的光谱分布。光源的光谱分布可以通过分光光度计进行测量。CIE光谱分布是户外光源的良好估计。
另一种进行颜色校准的方法是使用人造ColorChecker图像。这些图像可以通过使用ColorChecker合成器工具生成。在这种情况下,光源的光谱分布由CIE为某些标准光源提供的光谱分布给出。这些光谱分布与AWB工具一起在CIE照明文件夹中提供。
注意:为了获得高质量的校准结果,我们建议使用真实的日光(户外)并在拍摄图像时同时测量光谱分布。
照明文件格式
必须加载到AWB工具中的照明文件是ASCII文本文件,每个文件都包含一个照明的光谱分布。第一列包含光的波长,单位为纳米,第二列包含光源的相对辐射能量,作为一个任意缩放的数字,不需要单位。列之间用逗号分隔。必须至少指定380到730纳米波长范围内,以10纳米为步长的光源辐射能量。这里展示了一个示例:
380,0.56
390,134000
400,491000
410,538000
420,287000
430,1076000
440,1523000
450,644000
460,784000
470,873000
480,930000
490,960000
500,976000
510,1005000
520,1047000
530,1079000
540,1516000
550,1832000
560,1265000
570,1420000
580,1702000
590,1456000
600,1460000
610,1441000
620,1449000
630,1466000
640,1447000
650,1496000
660,1503000
670,1083000
680,829000
690,700000
700,575000
710,479000
720,382000
730,313000
(AWB V1)AWB V1校准

在加载了传感器的光谱灵敏度曲线和照明数据文件之后,您可以点击AWB V1 Calibration选项来启动计算过程。如果没有加载光谱灵敏度曲线或照明数据文件,工具将使用默认曲线代替。
模拟进度可以在应用程序命令窗口中跟踪。根据PC的处理能力,计算过程需要一些时间才能完成。
故障排除提示:如果在AWB工具的命令窗口中出现“内存不足”的消息,首先尝试关闭所有其他应用程序,然后重新启动AWB工具。如果这没有帮助,增加您的虚拟页面文件大小并重启,安装更多的主存储器到您的PC,或使用64位的Microsoft Windows操作系统。
完成计算后,结果中的传感器响应在PCA域中显示在GUI的主窗口中。现在,可以为区域分类定义另外两个参数。这些参数称为tau1和tau2。tau1和tau2参数的调整可以按照Adjustingtau1 and tau2 Values部分中描述的方式进行,并且结果可以存储到文件中。
(可选)继承CCM信息
如果您想要直接从颜色校准模块继承CCM(颜色校正矩阵)信息,就像从LSC模块直接继承LSC信息一样,如(可选)继承lsc信息章节中描述的内容,您可以选择如图71所示的Inherit ccm Info复选框。
Note:用于继承CCM信息的CCT(相关色温度)类型必须与用于继承LSC信息的类型相同。

图 8.6‑1 Inherit CCM Information Check Box
在选择Inherit ccm Info复选框之后,点击AWB V1 Calibration选项,工具将直接使用CCM模块中的CCM参数数据,而不会提示用户输入ccm_para.txt文件。
保存校准数据
所有确定的校准数据都可以被保存。通过文件菜单中的Save Calibration Data选项,会创建一个ASCII文件以及一个.mat数据文件。ASCII文件可以用来将计算出的参数传输到运行AWB控制回路的主机软件中。如果需要将计算出的参数重新读取回AWB工具中,则需要使用.mat文件。
在保存校准数据之前,应当使用内嵌的Gain Region Modifier Tool(AWB V2+)。
打开现有的校准数据
可以通过在文件菜单中选择Open Existing Calibration Data菜单项,将校准过程的存储结果重新加载回AWB工具中。如果稍后需要调整tau1和tau2参数,这将非常有用。在这种情况下,可以重新读取特定传感器的计算结果,而无需再次进行计算过程。
选择菜单项后,将file select对话框,从中可以选择一个结果文件。
(AWB V2)AWB V2+校准
增益区域修饰工具用于定义AWB控制回路的增益限制,并通过点击AWB工具GUI底部的AWB V2+ Calibration选项来调用。

为AWB控制回路定义增益限制对于控制回路的功能是必需的,而AWB工具获得的其他参数主要用于自动颜色校正(ACC)。
为了获得适当调整的白平衡,控制回路尝试将白点正交投影到白点轨迹曲线上。该曲线由所选自然照明下的正确白点定义,如D65。这些白点是通过读取在灰度图表的特定照明下拍摄的图像来创建的。请注意,这些图像源自原始传感器图像,这些图像通过LSC工具进一步处理了黑电平和镜头遮光校正。LSC工具允许将校正后的图像写入图像文件。这些图像仍处于原生传感器颜色空间。通过点击Gain Region Modifier选项后显示的图 8.9‑1所示的GUI窗口读取这些图像。
。
图 8.9‑1 Illumination Selection Window
Add new illumination white-points选项打开一个文件选择框,允许用户选择一个或多个图像文件。选定的图像文件必须为RGB格式。这些图像在内部用于分别计算R、G和B的平均值。每张图像产生一个RGB三元组,定义增益图中的一个点。
在计算白点轨迹曲线之前,用户必须选择要使用的照明点。

图 8.9‑2 Illumination Selection Window with Selected Illuminations
根据上图,可以选择所有照明白点或白点的子集。当仅使用A.png、D50.png、D65.png等黑体和日光照明进行拟合时,可以获得良好的曲线拟合。为了获得良好的拟合,应使用从3000K到12000K的色温。像CWF或TL84这样的人工光源通常不适合曲线,并且会产生非常奇怪的曲线。但是,人工光源的白点后来用于手动优化增益多边形。

为了避免LSC效应,“Crop Roi”用于选择*.png的ROI。
在选择所需的白点后,工具允许您定义增益多边形的起始点,如图 8.9‑3所示。

图 8.9‑3 Initial Polygon Calculation Selection

图 8.9‑4 Gain Diagram and Polygon Modifier
上图中,一个多边形定义了白点调整的投影目标,也称为裁剪。这是围绕白点轨迹曲线(绿色)的内部限制(黑色)。
另一个多边形(虚线橙色)定义了AWB控制回路将停止调整白平衡增益的增益区域,因为测量值表明图像传感器前方有一个单色目标。在这种情况下,对目标进行白平衡增益调整没有意义,因为这会产生灰色目标而不是彩色的。
如果使用初始多边形计算选择图中显示的默认值,它将创建一个增益图,多边形形状如上图所示。图表的形状还取决于所选择的照明。可能需要一些迭代才能得到一个有意义的图表。白点轨迹曲线(绿色)应该有类似显示的形状。它是由二次多项式导出的。
修改多边形形状
如前所述,多边形形状应根据AWB控制回路的需求进行调整。这应该对两个多边形都进行操作:内部多边形(黑色)定义了投影边界,外部多边形(虚线橙色)定义了中止区域。
通过点击增益图顶部的图标依次来完成多边形的修改:
允许修改中止多边形
允许修改投影(裁剪)多边形
重新调用下图所示的对话框,允许重置多边形
确认手动修改后的多边形设置
激活中止多边形的多边形修饰符后,将显示一个带有节点的虚线橙色线,如图 8.9‑5所示。

图 8.9‑5 Polygon Modifier for Abortion Polygon Activated
这些节点可以通过将鼠标光标放在节点附近并单击所需的新位置来移动。当前节点由从鼠标光标开始到节点结束的虚线灰色线标记。如果节点没有移动,则选定的新位置无效。如果将节点移动到新位置会改变节点的顺序,可能会出现这种情况。
激活裁剪多边形的多边形修饰符将显示一条带有节点的黑色线。修改方式与中止多边形相同。
一次只能修改一个多边形。激活一个多边形将停用另一个多边形的修改。
调整更多软件参数

在增益图的底部列出了一些对软件控制回路功能重要的参数。这些参数的描述显示在以下表格 8.9‑1中。
| Parameter | Description |
|---|---|
| f_RgProjIndoor_Min | Defines the minimum red divided by green gain for indoor light sources for projection polygon. |
| f_RgProjOutdoor_Min | Defines the minimum red divided by green gain for outdoor conditions for projection polygon (dotted blue line). This parameter is responsible for limiting the gain correction in outdoor scenes when the color temperature of the illumination is very low. |
| f_RgProjMax | Defines the upper boundary for the projection polygon. This is the limit for white balance correction of high color temperatures. |
| f_RgProjMaxSky | Defines the upper boundary for the abortion polygon. Used for adjusting the reproduction of blue sky scenes. If the AWB measurement value is above this value, then the AWB does not adjust the gains anymore, so that the settings from previous frames will be used. |
表格 8.9‑1 Gain Diagram Parameter Description
图 8.9‑4中的实心橙色线是对绿色线的近似,绿色线用于AWB控制软件中计算投影距离和方向。这条线在增益修饰符中显示,作为多边形调整的参考方向。
Gain Modifier的示例设置
图 8.9‑6是一个示例,展示了修改后多边形形状可能的样子。此示例基于Omnivision 5M传感器。如图中所示,在AWB控制回路中需要补偿的光源必须位于虚线橙色多边形内。

图 8.9‑6 Gain Polygon Modifier Example Setting
(可选)白点评估
白点评估功能是一个可选功能,可用于调整多边形ROI区域,以确保其质量。

图 8.9‑7 White Points Evaluate Check Box
执行白点评估的步骤如下:
步骤1) 选择图 8.9‑7所示的White Points Evaluate复选框。
步骤2) 选择一张未应用WB(白平衡)和CCM(颜色校正矩阵)的图像。
您可以通过点击第6.18节中描述的save image to file选项来获取此类图像。
步骤3) 点击AWB V2+ Calibration选项,继续AWB版本2的过程。
工具自动计算输入图像的白点。图 8.9‑8提供了评估结果的示例。

图 8.9‑8 White Points Evaluation Example
调整tau1和tau2值
初始设置
图 8.10‑1所示的GUI的左下部分显示了照明的光谱分布函数。

图 8.10‑1 Spectral Curves of Selected Illuminations
分布函数的显示分为室内和室外照明。通过Start Calibration选项启动参数计算后,可以为区域分类定义另外两个参数。这些参数称为tau1和tau2,必须通过在图 8.10‑2所示的对话框面板中插入适当的值来手动修改。

图 8.10‑2 Definition of tau1 and tau2 in Dialog
tau1的值必须总是小于tau2的值。这些值仅对室内照明有意义。
参数具有以下含义:
tau1:此参数与tau2一起使用,定义了一个过渡区域,其中颜色校正矩阵的插值更多地考虑附近的照明,而不是使用所有可用的照明以相同的权重。在tau1区域之外,所有照明矩阵被平等地用于当前矩阵的插值。tau1区域围绕tau2区域像一个环一样,如图 8.10‑3所示。
tau2:此参数定义了PCA域中照明分布中心周围的椭球区域的大小,其中AWB控制回路将直接使用相应的颜色校正矩阵,而不是使用所有照明矩阵的插值矩阵。

图 8.10‑3 PCA Domain Example With tau Set to Different Values
应以这样的方式确定tau1和tau2的阈值,即为每种照明定义不相交的颜色配置文件区域。在GUI中修改阈值会立即通过在照明分布中心周围绘制椭球来显示。
tau1和tau2的值范围是0到1,其中tau1总是应小于tau2。在GUI中插入此范围和条件之外的值将导致不良结果。
如果区域变得太小,建议将tau1和tau2设置为1,以停用特定照明的区域分类;否则,后果可能会突然的颜色变化。
上图中使用的tau值在下图中显示,以演示如何为两种不同的照明定义这些值。

图 8.10‑4 Example of tau Values for Two Illuminations
使用tau值进行区域分类是AWB控制回路的附加功能。如果在一个定义的光源下使用,例如在实验室环境中,因为这种情况下,直接使用与该光源对应的颜色校正矩阵而不进行插值,这个功能可以改善颜色再现。这对于测量很有用,当要对特定传感器进行比较以与其他传感器进行比较时。在现实环境中,大多数时候没有单一的光源,或者光源与实验室中使用的照明不同。在这些情况下,如果将tau值全部设置为1,以便始终使用插值的颜色校正矩阵,颜色再现的结果可能会更好。
tau1和tau2值的建议是:
定义tau1,使得矩阵选择和插值之间的过渡区域大于内部区域,但不与不同照明的区域重叠。
使用接近tau1的tau2值,以保持一个较小的区域,在这个区域内只使用一个矩阵。
修改已保存校准文件的tau值
要更改已经校准过的数据的阈值,打开之前保存的校准文件(见打开现有的校准数据),并重新修改阈值。在您能够执行此操作之前,您必须加载在计算期间使用过的照明数据库(见(AWB V1)定义照明文件)。如果您不知道使用了哪个照明数据库,请在文本编辑器中打开校准数据文件,并查看前几行。使用的照明文件在那里列出。
请注意,更改tau值不会影响其他AWB参数。使用tau只是一个附加功能。
5.17.4.10. 噪声校准工具
噪声校准工具的目的是表征特定传感器模块的时间噪声行为。评估结果是一个噪声水平函数(NLL),它描述了像素强度的时间噪声标准偏差。可以从工具中导出一个文本文件,该文件可用于为X5 ISP中新的DPF模块编程NLL寄存器。
噪声校准原始图像拍摄
步骤 1) 在视场(FOV)中放置一块灰板。灰板的大小约为1.5米 x 1米。FOV 应该覆盖灰板的80%以上区域。
提到的灰板大小不是强制性的。如果灰板太小,噪声校准工具可以用来选择灰板的感兴趣区域(ROI)。
步骤 2) 将光源(D50/D65)放置在图表的左侧或右侧。光源表面与图表平行。
步骤 3) 保持自动曝光开启。改变光源的亮度以获得1倍曝光增益。
像素值应在BLC值到128(8位)的范围内。
步骤 4) 使用灰板拍摄20到50帧原始格式的图像。
步骤 5) 重复步骤3和步骤4,以获得2倍/4倍/8倍/16倍/32倍/64倍/128倍/256倍的曝光增益值中的任意两个。
校准工具仅支持两个原始数据输入的增益值。高光和低光之间的增益值应该有所区分。
在拍摄期间,照明需要从亮到暗的平滑过渡。

图 9.1‑1 Noise Calibration Test Pattern
Note:推荐的是上述拍摄原始图像的方法。如果您没有光源设备和灰板,X5 Memo中为ISP校准描述的原始图像拍摄指南中的方法也是可行的。
使用噪声校准工具
噪声校准(NC)工具V1.00如图 9.2‑1所示。

图 9.2‑1 Noise Calibration Tool V1.00 GUI
如果您想要从BLC模块继承宽度、高度、位深和黑电平偏移,您可以选择inherit blc info。但如果在NC模块之前没有启动BLC模块,则继承过程将使用默认值。
使用该工具,请执行以下步骤:
步骤 1) 加载图像序列。
可以加载两组图像:一组较亮系列用于拍摄高光部分,一组较暗系列用于拍摄低光部分;
拍摄的图像必须提供一系列图像(大约20-50张),这些图像是使用特殊的噪声测试图表完成的,并且在拍摄过程中没有相机移动或其他环境变化。
步骤 2) 选择感兴趣区域(ROI)
如果测试图表没有完全占据图像,则需要选择图表的区域。
步骤 3) 点击1. Evaluate Measures选项。
然后处理图像序列。这需要一些时间,具体取决于图像的大小。

图 9.2‑2 Measures Being Evaluated
步骤 4) 选择直方图范围和分割点。
在Capture Series中,选择要考虑的最低和最高像素值或两者,并定义高低系列之间的分割点。

图 9.2‑3 Histogram and Split Point Selection
步骤 5) 点击2. Fit to model选项。
结果图表将显示在主窗口中。

图 9.2‑4 Noise Level Function of an Image Sensor
重复步骤 4 微调拟合参数。
步骤 6) 保存校准数据。
校准结果将存储到文本文件中。
硬件编程的参数将打印在文本文件的最后一行。
可选:
a. 加载在X5 ISP管道末端使用的Gamma函数,以使噪声水平函数适应Gamma曲线。再次进行拟合[2. Fit to Model选项]。Gamma函数对噪声水平函数的影响程度可以通过滑块选择。
b. 如果图像的黑电平不为零,则定义图像的黑电平(Black level offsets)。
c. 为NLF曲线的拟合定义标准偏差的下限。
5.17.4.11. 色差校正工具
色差校正原始图像拍摄
步骤 1) 从图89至图91展示的三组测试图案中选择一个测试图案。

图 10.1‑1 Test Pattern 1

图 10.1‑2 Test Pattern 2

图 10.1‑3 Test Pattern 3
步骤 2) 将测试图案放置在视场(Field of View)的中心位置。
步骤 3) 设置一个光源(D50/D65)。
步骤 4) 拍摄一张RAW格式的图像。
使用色差校正工具
色差校正(CAC)工具用于推导X5 ISP内部色差校正功能的所需参数。色差校正可以分别对红色和蓝色色平面应用,通过应用三阶多项式校正函数。因此,需要计算两组参数:一组用于红色色平面,另一组用于蓝色色平面。每组参数由三个值A、B、C组成,它们是多项式的系数,外加一个可选的图像中心偏移量。
CAC parameter estimation tool GUI如图 10.2‑1所示。

图 10.2‑1 CAC Parameter Estimation Tool GUI
CAC工具中的Block Selection由七个选项组成,代表X5 ISP硬件的功能:
Image Input
LSC
CA Estimate
CAC
Demosaic and Filter
Color Correction
Gamma
Block Selection选项用于测试图像的预处理,以及在应用校正函数后查看校正结果。选项和菜单项在以下各节中描述。
在GUI的底部,无论选择哪个块,都会显示一个“Process Information”面板。该面板在图像处理期间处于活动状态,以显示有关当前计算过程状态的一些信息。Process选项用于启动图像处理。

菜单栏

菜单栏位于GUI的顶部,就像典型的Windows程序一样。提供的菜单项包括:
Info
加载图像
“Load Image”菜单项用于将测试图像加载到工具中。图像必须包含原始的Bayer数据,并且可能有 .pgm 或 .raw 文件格式。根据文件格式,工具会提供不同的选项来指定。如果选择了 .raw 格式,用户必须在下图所示的“Image Dimensions”对话框中指定图像的尺寸。使用 .pgm 文件格式时不需要图像尺寸,因为 .pgm 文件包含一个头,该头指定了图像的尺寸。

图 10.3‑1 Image Dimensions Dialog
在 .pgm 或 .raw 文件格式的情况下,都会显示下图所示的“Bit Width”对话框。

图 10.3‑2 Bit Width Dialog
此对话框用于指定输入图像的位宽(每像素的位数)和所需的Process Bit Width。处理位宽影响色彩校正部分中所需的黑电平补偿值。
Note:图像必须正确聚焦,以便像差区域尽可能清晰。
加载设置
在各个部分可以选择多个处理参数。如果之前使用“Save Settings”菜单项存储过,可以通过使用“Load Settings”菜单项一次性将所有参数加载到工具中。
保存设置
包括CAC参数在内的所有处理参数可以存储到MATLAB文件(.mat)中,以便以后使用或存档。
块选择
图像输入部分

如果选择了Image Input部分,GUI将显示已加载的原始图像。如果尚未加载图像,原始图像预览窗口将显示为白色,如图 10.2‑1所示。
加载图像后,图像的文件名、宽度和高度将显示在图像上方。此外,还将显示用于内部处理的位宽。
LSC部分
镜头遮光校正(LSC)部分用于补偿测试图像中的镜头遮光。这是必需的,因为镜头遮光可能会影响CAC参数估计的结果。可以使用相应的CC(颜色校正)和LSC Tuning工具推导出测试图像的镜头遮光参数。然后,可以通过点击“Load parameters”选项并选择包含测试图像参数集的适当文本文件,将此LSC参数集加载到CAC工具中。参数集在GUI中显示为2D图形,其中颜色代表每个像素的乘法因子。要激活镜头遮光校正,需要勾选enable复选框,如下图所示。

图 10.4‑1 LSC Section Display
请注意,支持三种镜头遮光参数集的实现:
单平面补偿(仅去暗角)
补偿三个RGB平面(X5 ISP版本<=12MP)
补偿四个Bayer平面(camerIC-3D/64MP)。
这些信息编码在LSC参数文本文件中。
色差估计部分

图 10.4‑2 CA Estimate Display
CA Estimate(Chromatic Aberration Estimation)部分是CAC工具的主要部分。它根据加载的测试图像执行CAC参数的计算。这种估计背后的假设是测试图像将只包含黑色和白色像素,因此在CA校正后颜色通道将彼此匹配。测试图像的正确白平衡对工具的工作非常重要。自动白平衡可以按照自动白平衡工具部分中描述的方式完成。这一节提供了影响估计过程的设置,这些设置在以下子部分中描述。
参数估计通过非线性迭代方法完成。由于这种方法的特点,计算出的参数之后需要检查其合理性。
复选框

Chromatic Aberration Estimation复选框包括:
CA_Estimate(色差估计)
Enable Offset Search
Enable Number of Pixel Weight
Use for CAC
CA_Estimate - 启用或禁用色差估计过程。
Enable Offset Search - 指示是否应将色差视为无偏移(居中)或不是。如果选中,工具尝试仅计算偏移。注意:此功能在当前版本的CAC工具中被禁用。零中心点将适用于大多数镜头系统。
Enable Number of Pixel Weight - 启用加权,确保颜色误差在当前半径相同的情况下具有相同的权重,以便根据每个半径值的像素数量计算像差校正。

Use for CAC - 如果选中此复选框,计算出的参数将传输到CAC部分,用于校正输出图像。
当启用了“CA_Estimate”(色差估计)并且“Use for CAC”(用于CAC)被选中时,色差估计会一次性运行完成。
初始参数
色差估计部分的初始参数区域如下图所示。

图 10.4‑3 Initial Parameters Area
初始参数用作色差校正函数估计的起点。如果已加载的测试图像存在参数值,则应在此输入;否则,应使用默认值。
**Note:**不要对初始系数参数使用零值,因为这将导致估计过程失败。
| ratio k_xy | 如果测试图像中的像素不是正方形的,那么在这种情况下需要这个比例。如果像素分辨率与图像的几何尺寸不相当,那么需要根据以下公式在这里指定比例:\(\text{kxy} = \frac{\text{h_size}}{\text{v_size} \times \text{aspect_ratio}}\) 如果传感器具有正方形像素,则应使用默认值1。 |
| red parameters | 这个字段应该包含红色色分的多项式系数A、B和C的估计值。 |
| blue parameters | 这个字段应该包含蓝色色分的多项式系数A、B和C的估计值。 |
| center horizontal offset | 这个字段应该包含从图像中心的水平色差函数的已知水平偏移量。水平偏移必须以像素为单位指定。 |
| center vertical offset | 这个字段应该包含从图像中心的垂直色差函数的已知垂直偏移量。垂直偏移必须以图像行为单位指定。 |
表格 10.4‑1 Parameter Description
迭代设置
该工具使用迭代方法来计算CAC(色差校正)参数。可以通过在文本字段中输入适当的值来将迭代次数限制为最大值。
| Number of pre-iterations | 第一步优化: 在没有偏移搜索的情况下进行参数搜索,但考虑了偏移的起始值。 |
| Number of offset iterations | 第二步优化: 不修改第一步的参数,但进行偏移搜索。这一步只有在启用了偏移搜索时才会执行。 |
| Number of final iterations | 第三步优化: 使用第二步中的偏移值,并进行最终的参数优化。 |
表格 10.4‑2 Iteration Settings Description
操作选项


最终结果:显示

参数估计的结果在“Final Results:”部分显示。计算出的多项式系数和计算出的偏移量在此区域显示。此外,还显示了一些参数,这些参数是正确配置X5 ISP硬件所需的。这些参数包括:
x_norm_shift (x_ns)
x_norm_factor (x_nf)
y_norm_shift (y_ns)
y_norm_factor (y_nf)
CAC硬件的设计方式是,无论当前图像分辨率如何,从图像中心的最大距离始终被归一化为8位值。这是通过使用ISP_CAC X NORM和ISP_CAC Y NORM寄存器进行归一化的。这样做的原因是为了避免CAC硬件块的高门计数。
x_ns、y_ns、x_nf和y_nf的值在这里计算,需要被编译到相应的X5 ISP寄存器中。
如果结果仍然不够充分,可以通过点击“Copy”选项将计算出的参数复制到初始参数字段,以便进行另一次迭代运行。
CAC Section
工具中的色差校正(Chromatic Aberration Correction, CAC)部分用于对输出图像施加色差校正。

图 10.4‑4 CAC Section GUI
色差估计(CA Estimate)部分负责计算色差的参数,然后这些参数会被应用到图像上。窗口顶部的“CAC_enable”复选框允许用户停用这一特性。
在显示区域的中间部分,通过绘制校正函数的图表来展示选定的红色和蓝色像素参数。该图表仅展示校正函数的水平分量,并已标准化,使得图像边缘的半径值为1。半径0代表图像的中心。
如果用户手动将校正参数输入到相应的文本框中,那么需要点击(Plot)选项来展示图表。
水平和垂直的限制值用于限制最大校正值,以适应硬件限制,这些限制通常与使用的行存储器量有关。
去马赛克和滤波器部分
X5 ISP中的色差校正特性作为去马赛克功能的集成部分实现,该功能负责对Bayer模式的颜色插值。CAC工具的这一部分用于指定测试图像的Bayer模式布局,并选择所需的滤波器功能。此外,这一部分还显示了插值测试图像的预览,如下图所示。

图 10.4‑5 Demosaic and Filter GUI

通过激活图像预览左侧的相应Bayer模式复选框来选择Bayer模式。可以在预览图像上方的文本字段中定义颜色插值算法的边缘检测阈值。阈值的默认值为4。如果在这里定义了更高的值,则边缘检测算法检测到的边缘更少。较低的值会导致检测到更多的边缘。值255表示完全禁用边缘检测。
CAC硬件实现允许垂直校正向上/下±2像素。在减少色度滤波的情况下,可以实现最大偏移±3,甚至±4(寄存器ISP_CAC_CTRL)。

“Simulate 2 additional Line Buffers”复选框允许用户扩展垂直偏移。这允许将垂直向量裁剪设置为±3。在这种情况下不执行减少色度滤波。

滤波器块可以在预览图像下方配置。文本字段”Filter stage1 select, Sharpen Level”、”锐化级别”和”Denoise Level”在X5 ISP编程指南第二部分:特性控制文档中有描述。
滤波器由三个阶段组成:
阶段1. 滤波器阶段1(值0…8),仅对色度(R-G,B-G)是一个3x3平均(模糊)滤波器
0:最大模糊
4:默认值,轻微模糊
8:不做任何操作
阶段2. 锐化(值0..10),仅亮度(G)
0:不做任何操作
1:轻微锐化
10:最大锐化
阶段3. 去噪(值1..10),亮度(G)和色度(R-G,B-G)
0:不做任何操作
1:轻微去噪(模糊)
10:最大去噪

“Lum_weight Off”复选框允许停用滤波器算法的一个特殊功能。这个功能有助于在暗区域比在亮区域更强烈地抑制噪声。由于后续处理链中的非线性Gamma校正,对比度和噪声在暗区域被强调,在亮区域被减弱。为了补偿这一点,纹理参数在与阈值比较之前,会根据5x5核心区域的平均亮度进行加权。
如果未选中”Filter_enable”复选框,则不执行任何滤波操作。
色彩校正部分
色彩校正部分如图 10.4‑6所示。

图 10.4‑6 Color Correction GUI
为了成功计算CAC参数,测试图像需要有正确的白平衡;否则,工具中用于推导CAC参数的非线性优化函数可能无法收敛。因此,需要在这里指定正确的白平衡(WB)增益值。另外,也可以使用自动白平衡,这是工具中实现的简单灰度世界方法,用于推导WB增益值。灰度世界方法在这种情况下是完全足够的,因为使用的CAC测试图表是黑白的。只需在WB增益编辑字段下方勾选Auto White-Balance复选框即可。也可以插入正确的色彩校正矩阵(X-Talk Matrix)(这是可选的 - 它不影响参数估计过程,只影响最终图像输出)。这些参数需要通过CC工具针对生成CAC测试图像时使用的相同照明条件来推导。参数可以直接输入,也可以从CC工具生成的ASCII文本文件中加载。点击Load ASCII file选项来加载ASCII文本文件。
使用的传感器的黑电平值在色彩校正部分指定。黑电平的绝对值取决于在图像加载时在位宽对话框中选择的每像素分辨率。位宽选项是每像素10位或12位。
例如:
对于SMIA相机,10位图像的黑电平被确定为64十进制(8位图像为16十进制)。如果该图像以10位的内部处理位宽加载,黑电平需要设置为64。否则,如果选择了12位的处理位宽,则黑电平需要设置为256。
要激活黑电平校正,需要勾选ISP_bls_enable复选框,并在相应的文本字段black_value_A到black_value_D中输入值。字母A到D对应于Bayer模式的颜色。如图 10.4‑7所示,有四种配置可能。Y

图 10.4‑7 Bayer Pattern Color Configurations
也可以指定全局增益值。使用是可选的,并且不影响CAC参数估计。默认的全局增益值为1。
Gamma校正部分
在RGB处理流水线的末端,可以应用Gamma校正。X5 ISP中的Gamma校正基于真实Gamma曲线的分段线性近似。通过勾选相应的复选框,可以改变曲线的分割方式,从等距切换到对数。通常,标准Gamma曲线使用对数轴。只有在要应用特殊曲线时,切换到等距轴才有意义。
工具可以通过在”Fill table with gamma”文本字段中输入所需的Gamma值,然后点击”Generate “选项来生成Gamma曲线的采样点的输出值。这将用计算出的值填充采样点的文本字段,并且相应的曲线将在对应的图表中绘制出来。近似曲线用蓝色绘制,而真实Gamma曲线用红色绘制。
可以通过在采样点的文本字段中输入值或通过加载包含这些值的文本文件来生成特殊曲线。加载文本文件时,需要点击”Load ASCII file”选项。
Gamma输出值始终基于每像素10位,这是在X5 ISP硬件中实现的。
需要通过勾选gamma_out_enable复选框来激活Gamma校正功能。否则,输出图像将不应用Gamma校正。
sRGB颜色空间的默认Curve校正值大约是Gamma 2.2。指定的Gamma值不影响CAC估计/校正的质量。
色彩处理控制
处理测试图像后,结果图像会显示出来。在下面图 10.5‑1显示的Color Processing Control窗口中,展示了色彩处理功能,这些功能允许修改对比度、亮度、饱和度和色调。

图 10.5‑1 Color Processing Control Window
这是一个对结果图像进行后处理的步骤,与之前的处理步骤无关。这个窗口的主要特点是可以通过按下Save Image选项将结果图像保存到文件中。这个选项允许保存处理后的图像以供进一步测量。
处理后图像显示
处理后的结果图像会在一个单独的窗口中显示,如图 10.6‑1所示。

图 10.6‑1 Processed Image Display
根据工具部分的设置,所选的处理步骤将应用于图像。图像窗口允许根据MATLAB函数imshow进行缩放、平移和拾取像素值。
图像边缘显示了一些拉链状伪影。这些与CAC工具的边缘处理有关,它不对可见范围外的边缘像素做任何假设或估计。因此,可以看到一些伪影,这些伪影与CAC参数的处理无关。在X5 ISP硬件中,边缘像素的处理方式不同,因此边缘像素不会显示这些伪影。
测试图像
色差在只包含白色和黑色物体的图像中最容易观察到。在这些物体的边缘,可以看到色差。推荐的色差测试图案如图 10.7‑1所示。

图 10.7‑1 Recommended Test Pattern for Chromatic Aberration
图像中的边缘越多,对参数的计算越有利。
尽管以图 10.7‑2中所示的替代图案没有第一个图案那么多的边缘,但它们也可以使用。

图 10.7‑2 Alternate Test Patterns for Chromatic Aberration
图像应该完美聚焦。我们建议使用一个大于39英寸×27英寸的测试图表,从大约39英寸的距离拍摄。提供了Microsoft Visio文件和测试图案的高分辨率TIFF文件。
5.17.4.12. 默认校准参数文件生成XML
Defect Pixel色彩校正
DPCC(Defect Pixel Color Correction,缺陷像素色彩校正)的校准数据提供在发布包中包含的dpcc_para.txt文件中。

自动曝光校准
自动曝光的校准数据提供在发布包中包含的aec_para.m和k_para.txt文件中。
aec_para.m

K因子与传感器对光的敏感度有关,并在k_para.txt文件中定义。
K因子与相机的ISO不同。ISO更像是传感器增益;它会根据光线变化,但K因子是一个固定的值,可以调整。K因子与传感器增益和曝光时间一起考虑,以确定场景是室内还是室外。
k_para.txt

HDR/Native HDR
原生HDR参数由传感器供应商提供。
HDR和原生HDR的校准数据提供在发布包中包含的hdr_para.txt文件中。
% HDR参数示例


光响应线性
光响应线性的校准数据提供在发布包中包含的degamma_para.txt文件中。

大多数传感器具有良好的线性,因此可以使用degamma_para.txt文件提供默认参数。然而,如果传感器的线性不佳,可以使用传感器供应商提供的替代degamma参数。
5.17.4.13. 补充工具
色彩校正合成器工具
色彩校正合成器工具用于生成ColorChecker图表或ColorCheckerSG图表的人工地景图像。如果实验室条件下无法拍摄真实图像,这些地景图像将作为色彩校准工具的输入。
色彩校正合成器工具介绍
X5 ISP的自动白平衡(AWB)控制循环需要在X5 ISP控制软件中定义一组不同的色彩配置文件。这些色彩配置文件是通过在不同照明条件下拍摄ColorChecker目标来获得的。然后,色彩校准工具用于从这些图像计算X5 ISP硬件所需的值。
如果实验室环境中没有所需的照明条件,那么可以使用色彩校正合成器(CCSynthesizer)工具为特定图像传感器生成在可选择照明下的人工地景图像。在运行CCSynthesizer之前,需要将所需图像传感器的光谱响应曲线加载到CCSynthesizer中。
图 12.1‑1所示的CCSynthesizer GUI允许用户选择一种或多种照明并生成图像。

图 12.1‑1 Color Checker Synthesizer Tool GUI
该工具为每种选定的照明创建一个单独的图像文件。图像文件的输出格式为.png。所使用的照明的光谱定义是根据CIE(国际照明委员会)的规范。
加载传感器光谱菜单
在工具生成图像文件之前,需要加载传感器的灵敏度曲线。这条曲线代表了所需图像传感器对三种基本颜色:红色、绿色和蓝色的光谱灵敏度。图 12.1‑2展示了这种曲线的一个示例。

图 12.1‑2 Spectral Response Curve of an Image Sensor
所需图像传感器的光谱响应曲线可以从文本文件中加载。
文本文件必须具有以下格式:
|
Column 1: |
this column contains the wavelength of the light in nanometers |
|:——————-: |:————————————————————————–: |
|
Column 2: |
red sensitivity values |
|
Column 3: |
green sensitivity values |
|
Column 4: |
blue sensitivity values |
列之间用逗号分隔。曲线的采样点应该是从380纳米到730纳米,以10纳米为步长。灵敏度值不需要单位,因为工具只需要相对值。在内部,灵敏度值被映射到[0..1]的范围内。
下面展示了一个光谱响应曲线文本文件的示例:
380,0.26226,0.1608,0.31022
390,13.245,10.035,28.801
400,18.964,19.316,68.754
410,24.304,29.598,124.55
420,23.767,30.415,149.12
430,22.543,33.149,161.17
440,22.603,44.127,184.07
450,23.218,55.27,209.67
460,24.063,64.02,215.33
470,27.154,87.469,211.07
480,30.461,127.21,201.2
490,34.762,174.79,177.68
500,41.068,220.16,149.58
510,49.424,248.27,115.77
520,60.926,272.83,92.564
530,66.451,285.46,82.773
540,64.961,274.89,75.672
550,61.985,249.26,66.388
560,61.445,221.64,58.419
570,94.811,191.24,54.405
580,205.04,175.05,59.287
590,278.5,147.42,58.32
600,287.82,111.12,50.848
610,276.31,83.046,44.126
620,234.76,64.909,37.86
630,191.7,52.999,32.985
640,145.74,40.745,26.912
650,85.741,25.098,17.363
660,41.35,13.449,9.4641
670,17.856,6.8833,4.697
680,8.1439,3.7525,2.4365
690,5.8114,3.0677,1.9267
700,3.8089,2.1817,1.3354
710,2.1029,1.2448,0.74725
720,1.795,1.0481,0.62607
730,1.7775,1.038,0.62145
合成选项

在选择所需的照明条件和ColorChecker类型之后,需要点击Synthesize。然后会打开一个窗口,用于选择一个文件夹,以指定生成的图像应存储的位置,如下图所示。

图 12.1‑3 Folder Selection Window to Save the Color Checker Image
图像的文件名将根据所选的照明和ColorChecker类型自动创建。此外,所选照明的光谱曲线将作为参考显示出来,如下图所示。

图 12.1‑4 Spectral Curves of Selected Illuminations
这些光谱曲线是内置的,无法加载。它们符合CIE定义的光谱曲线标准。
查看色彩校正器菜单
“View Color Checker”菜单项允许查看生成的图像。示例输出显示在下图中。

图 12.1‑5 Generated Color Checker Image
图像校正工具
图像校正工具用于纠正扭曲的图像。这个工具的典型用例是对在45°/0°对齐下拍摄的色彩校正器图像进行校正,以便在IMATEST中进行进一步分析。

要校正一个图像,请执行以下步骤:
点击”Yes “选项。

选择从色彩校正器拍摄的图像。

使用鼠标右键点击色彩校正器的四个角落:

校正后的图像将会显示。

如果结果满意,请保存图像;否则,按取消。

如果你想处理另一张图像,请按**”Yes”**。工具会记住读取和写入的路径。
XML生成器
要运行XML生成器,首先必须生成校准数据以作为XML生成器的输入。然后,必须将生成的校准参数复制到预定义的校准参数目录中。
校准参数有两种生成方式:使用校准工具和使用发布包中提供的默认文件。
下表指定了获取校准数据的方法和校准参数文件的位置。
| Calibration Data | Generation Method or Parameter File | Calibration Parameter File Location |
|---|---|---|
| Auto White Balance | Calibration Tools | |
| Black Level Correction | Calibration Tools | |
| Chromatic Aberration | Calibration Tools | |
| Color Calibration | Calibration Tools | |
| Defect Pixel Color Correction | dpcc_para.txt | |
| Auto Exposure Calibration | aec_para.m; k_para.txt | |
| HDR | hdr_para.txt | |
| Lens Shade Correction | Calibration Tools | |
| Noise Calibration | Calibration Tools | |
| Photo Response Linearity | degamma_para.txt |
表格 12.3‑1 Calibration Data for XML Generation
| IP version | BLC | LSC | CCM | AWB | NR | CAC |
|---|---|---|---|---|---|---|
| isp pico | √ | √ | √ | √ | ||
| isp nano | √ | √ | √ | √ | √ | √ |
| others | √ | √ | √ | √ | √ | √ |
表格 12.3‑2 Modules corresponding to different IP versions
手动生成XML文件
在生成所有校准数据后,对于每个校准参数,按照以下步骤为每种分辨率创建单独的XML文件:
使用传感器名称创建文件夹(例如,/OV2775)
用镜头名称创建子文件夹(例如,/8M)
用样本名称创建子文件夹(例如,/01)
为每个校准参数创建子文件夹(见上表)
将校准参数文件复制到相应的参数文件夹中。
例如: 对于每个<分辨率>:
将所有校准参数文件复制到相应的文件夹后,通过点击主窗口上的XML生成器选项来运行XML生成器。这将在文件夹/out_<传感器>中生成XML文件。 步骤1) 通过点击浏览…选项选择要转换为XML文件的数据位置。 步骤2) 选择传感器:例如,OV2775 步骤3) 选择镜头:例如,8M 步骤4) 选择数据:例如,01, 02, 03;这意味着校准样本,01 必须包含完整的校准数据(第一轮校准数据)。其他样本可能包含几个部分,你可以选择重新校准。 步骤5) 输入分辨率信息:宽度和高度 步骤6) 输入创建者信息。 步骤7) 点击应用以生成XML文件,输出到<传感器>/<镜头>/XML。
<sensor> ---<lens>
--------<sample>
------------<AWB>
--------------------<AWB parameters>.txt
<BlackLevel>
--------------------<BLS parameters>.txt
...
-1928x1088
|--OV2775
|--8M
|--01
|--AWB
awb_para.mat awb_para.txt
|--BlackLevel
bls_para.txt
|--ChromaticAberration
cac_estimate_params.orig cac_estimate_params.txt
|--ColorReproduction |--A
|--cc_para_100.txt |--D50
|--cc_para_100.txt |--D65
|--cc_para_100.txt |--F11
|--cc_para_100.txt |--F2
|--cc_para_100.txt |--H
|--cc_para_100.txt |--DefectPixel
dpcc_para.txt
|--ExposureCalibration aec_para.m
k_para.txt
|--HDR
hdr_para.txt
|--LensShading |--A
|--lsc_para_100.txt |--D50
|-lsc_para_100.txt |--D65
|--lsc_para_100.txt |--F11
|--lsc_para_100.txt |--F2
|--lsc_para_100.txt |--Noise
dpf_para.txt
|--PhotoResponseLinearity
degamma_para.txt
在所有校准参数文件都被复制到它们相应的文件夹之后,通过点击主窗口上的XML Generator选项来运行XML生成器。这将在 /out_<Sensor> 文件夹中生成XML文件。

图 12.3‑1 XML Generator
步骤 1) 通过点击Data Location选项选择要转换为XML文件的数据位置。
步骤 2) 选择Sensor:例如,OV2775。
步骤 3) 选择Lens:例如,8M。
步骤 4) 选择Data:例如,01, 02, 03;这意味着校准样本,01 必须包含完整的校准数据(第一轮校准数据)。其他样本可能包含几个部分,你可以选择重新校准。
步骤 5) 输入Resolution信息:宽度和高度。
步骤 6) 输入Creator信息。
步骤 7) 点击Apply以生成XML文件,这些文件将输出到<Sensor>/<Lens>/XML文件夹中。
(可选)自动生成XML文件
要自动生成一个XML文件,你需要执行所有模块,并特别留意CCT(Color Checker Tool,色彩校正器工具)的类型。按照以下步骤自动生成XML文件:
步骤 1) 确定根目录
通过点击Browse选项选择要转换为XML文件的数据位置。
步骤 2) 点击Auto Generate选项。
如果某个模块的校准数据缺失,工具将会在XML文件中写入默认值。

