17.08.2013 Views

下载 - Xilinx

下载 - Xilinx

下载 - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

色彩转换。<br />

我们将该 ISP 实现为 Zynq 视频和<br />

成 像 套 件(ZVIK)1080×60 相 机 图 像<br />

处理参考设计的组成部分。<br />

算法详解<br />

为校准传感器的颜色,我们使用现<br />

成 的 颜 色 观 察 箱(X-Rite Macbeth<br />

Judge II)或灯箱。该设备有四个已知光<br />

谱的标准光源,分别用于模拟日光、冷白<br />

荧光灯、暖光荧光灯和白炽灯。我们还使<br />

用现成的色靶(X-Rite ColorChecker 24<br />

色标准色卡),其色标具有已知的反射<br />

特性以及 RGB 与 sRGB 预期值。<br />

在开始实现相机校准算法之前,我<br />

们首先将色靶放置在灯箱中,与灯箱的灰<br />

黑色背景平行。我们将色靶调整到一定<br />

位置,让来自所有光源的光照尽量均匀。<br />

接下来,在打开所有光源的情况下,<br />

我们采集由传感器拍摄的有待校准的图<br />

像,此时尚未进行色彩校正(使用“跳过”<br />

色彩校正设置:将单位矩阵加载至色彩<br />

校正矩阵)。<br />

然后使用赛灵思提供的 MATLAB ®<br />

脚本协助补偿镜筒(几何形状)透镜畸<br />

变和镜头阴影(光强度在角落处下降)<br />

带来的影响。我们使用 MATLAB 脚本找<br />

出图像上的控制点,然后弯曲图像,用<br />

以对筒形畸变进行补偿。脚本的其余部<br />

分用于根据寄存的 ColorChecker 色靶背<br />

景来估算水平和垂直方向的光强度下降。<br />

为衰减测量到的噪声,我们在色标<br />

中划出矩形区域。在这些区域中,我们<br />

计 算 出 R、G、B 像 素 数 据 均 值, 用<br />

RGB 三元色表达每个色靶。带 GUI 的<br />

MATLAB 脚本可帮助找出色标的中心,<br />

然后计算出与每个色标的 RGB 预期值<br />

(R e 、G e 、B e )对应的平均 RGB 三元色。<br />

我们采用模拟退火优化法找出色彩校<br />

正系数和偏移量。然后使用图 3 的色彩校正<br />

模块,将未经校正的(R、G、B)三元色转<br />

换为校正的(R’、G’、B’)三元色。<br />

R'<br />

G'<br />

B'<br />

=<br />

k<br />

11<br />

k<br />

21<br />

k<br />

31<br />

k<br />

12<br />

k<br />

22<br />

k<br />

32<br />

k<br />

13<br />

k<br />

23<br />

k<br />

33<br />

视 频 领 域 的 出 色 表 现<br />

2012 年冬季刊 赛灵思中国通讯 46 期 13<br />

R<br />

G<br />

B<br />

+<br />

R offs<br />

G offs<br />

B offs<br />

模拟退火算法的作用是求出一个能<br />

够返回标量的误差函数的最小值。在下<br />

面的讨论中,用 R k 、G k 、B k 表示测得的<br />

色标像素值的子集或超集。用户可以自行<br />

限制包含在优化(子集)中的色标数量,<br />

也可多次使用某个特定的色标,以增大其<br />

在优化过程中的相对权重。整数 n 代表<br />

选优化的色标数量。如果一次优化全部<br />

色标,则对 X-Rite ColorChecker 24 色<br />

标准色卡而言,n 则为 24。<br />

因为优化算法最多只能设置 12 个变<br />

量(CCM 系数和偏移量),一般来说不<br />

存在有能够将所有测量值精确映射到预<br />

期色标值的解决方案。不过该算法的目<br />

<br />

的是求出误差函数的最小值,从而在所<br />

使用的所有色标上实现理想的误差分布。<br />

我们设置的误差函数用于计算下列<br />

参数之一:<br />

• RGB 色域中预期三元色和转换后<br />

三元色之间的方差和:<br />

E=∑ n<br />

k=0 (R k '–Re k )2 +(G k '–Ge k ) 2 +B k '–Be k ) 2<br />

• RGB 色域中预期三元色和转换后<br />

三元色之间的绝对差和:<br />

E=∑ n<br />

k=0 |R k '–Re k | +|G k '– Ge k |+|B k '–Be k |<br />

• YUV 色域中预期三元色和转换后<br />

三元色之间的方差和:<br />

E=∑ n<br />

k=0 (U k '–Ue k )2 +(V k '–Ve k ) 2<br />

• YUV 色域中预期三元色和转换后<br />

三元色之间的绝对差和:<br />

E=∑ n<br />

k=0 |U k '–Ue k | +|V k '– Ve k |<br />

其中 U’和 V’对应的是 R’G’B’<br />

值转换到 YUV 色域的值。与此类似,误<br />

<br />

<br />

图 4 - 在镜头校正前不同光源下的传感器图像

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!