适用于具有 RedFollowedByBlue GreenFollowedByGreen 彩色模式的双线阵彩色相机的 Bayer Demosaicing

简短说明

文件: \examples\Processing\Color\Bayer\BilinearBayer_RB_GG.va

默认平台: mE5-MA-VCL

简要说明

该示例展示了双线面阵相机的 Bayer RAW 图案的去马赛克处理,其色彩模式为 Red/BlueFollowedBlue/Red_GreenFollowedGreen,适用于 "DeBayer Enhanced" 和 "DeBayer Fast"(即 "Bayer Raw")模式。

在 VisualApplets 设计示例 "BilinearBayer_RB_GG.va" 中,实现了针对双线面阵相机的 Bayer 去马赛克功能, 其第一(顶部)行传感器包含红色接蓝色 或反之的色彩,第二(底部)行传感器包含绿色色彩(或反之)。 传感器布局的直观图示请参见 图 259。

色彩模式为 Red/BlueFollowedByBlue/Red_GreenFollowedByGreen 的双线面阵相机的传感器布局

图 259:色彩模式为 Red/BlueFollowedByBlue/Red_GreenFollowedByGreen 的双线面阵相机的传感器布局


此传感器布局的 Bayer 去马赛克功能在小程序中针对两种相机模式进行了实现:"DeBayer Fast" 模式 和 "DeBayer Enhanced" 模式。 在第一种情况下,两次采集之间的运动为两条传感器线,在第二种情况下为一条线。因此,在 "DeBayer Fast" 模式下,每个 像素采集一个 颜色分量,而在 "DeBayer Enhanced" 模式下,每个像素采集两个颜色分量(红色和绿色,或蓝色和绿色)。 图 260 展示了设计 "BilinearBayer_RB_GG.va" 的基本结构。

"BilinearBayer_RB_GG.va" 的基本设计结构

图 260:"BilinearBayer_RB_GG.va" 的基本设计结构


由双线面阵相机在 Camera Link Full 配置下以 "DeBayer Fast" 或 "DeBayer Enhanced" 模式采集的图像 (参见相机接口算子 FullGrayCamera)在 HierarchicalBox DeBayer 中进行去马赛克处理。在此框上点击“鼠标右键”,您可以在 “Properties” 下选择 Bayer 图案 以及红色、绿色和蓝色的白平衡系数。完全色彩内插的 rgb 图像 通过 DMA 传输到 PC。 此设计的默认平台是 microEnable 5 marathon VCL,但它可以轻松适配到其他平台。对于该设计,您可以在 \examples\Processing\Color\Bayer\TestImagesBilinearBayer 下 找到用于 "DeBayer Enhanced" 模式和 "DeBayer Fast" 模式的测试图像。框 DeBayer 的内容如图 261 所示。

HierarchicalBox DeBayer 的内容

图 261:HierarchicalBox DeBayer 的内容


在 HierarchicalBox WhiteBalance 中,对红色、绿色和蓝色分量执行白平衡操作。您可以通过在该框中的算子 WhiteBalanceBayer 上“双击鼠标”,或者如上所述在框 "DeBayer" 上点击“鼠标右键”,直接选择白平衡 系数。算子 FIRkernelNxM_Kernel5x5 在当前像素周围创建一个 5x5 像素的内核。 通过算子 SourceSelector_SelectFast,您可以选择 DeBayer 模式 DeBayerEnhanced 或 DeBayerFast。图 262 显示了框 DeBayerEnhanced 的内容。

HierarchicalBox DeBayerEnhanced 的内容

图 262:HierarchicalBox DeBayerEnhanced 的内容


从 5x5 内核中选择一个 3x2 子内核。第一行包含红色和蓝色值,第二行包含绿色 颜色值(或反之)。 关于内核分量顺序的直观图示,请参见图 263 以了解 "RedFollowedByBlue_GreenFollowedByGreen" 的示例 Bayer 图案。

由算子 SelectSubKernel3x2 在 HierarchicalBox DeBayerEnhanced 中选择的内核分量

图 263:由算子 SelectSubKernel3x2 在 HierarchicalBox DeBayerEnhanced 中选择的内核分量


通过算子组合 SelectSubKernel-FirstPixel, ModuloCountLine 和 RemoveLine 删除了冗余图像行。(行 冗余是由内核创建产生的。)通过算子 SelectSubKernel-BR 和 SelectSubKernel-G 红色和蓝色内核分量与绿色内核分量分离开来。如果 Bayer 模式在第一行内核中具有绿色值,则可以在 HierarchicalBox 中交换这些分量 Swap 与 IsBRthenGG。如果您如上所述通过“右键单击”框“DeBayer”选择了 Bayer 模式,则该常量会自动设置。在框中 Interpolation 像素位置处的缺失第三个彩色分量红色()或蓝色() 根据以下公式进行内插:

公式 14。


其中 是像素位置处的绿色彩色分量 。最后,这些彩色分量与运算符一起合并 MergeComponents.

如果您选择相机的“Bayer Raw”(也称为“DeBayer Fast”)模式,则由于行速度与上述方法相比加倍,每个像素仅采集一种颜色。 对于此相机模式,您可以为彩色分量的去马赛克选择框 DeBayerFast(参见图 261)。 您可以在图 264 中查看框 DeBayerFast 的内容。

HierarchicalBox DeBayerFast 的内容

图 264. HierarchicalBox DeBayerFast 的内容


在此,像素位置处的红色( )、蓝色( )或绿色( )彩色分量的去马赛克按以下方式执行。 蓝色或红色像素上的红色或蓝色彩色分量根据以下公式进行内插: 具体实现方式如下。蓝色或红色像素上的红色或蓝色分量根据以下公式进行插值:

公式 15。


红色或蓝色像素上的绿色彩色分量根据以下公式进行内插:

公式 16。


在红色或蓝色像素列中的绿色像素上的红色或蓝色分量可以按如下方式计算:

公式 17。


最后,对蓝色或红色像素列中的绿色像素上的红色或蓝色分量进行评估:

公式 18。


对于每个像素,评估出的红、绿、蓝颜色分量通过 MergeComponents 运算符(参见图 264)合并在一起。最终,完整图像通过 DMA 传输到 PC,如图 260 所示的基本设计结构中所示。