FPGA图像处理7_常用算法_解 Bayer 格式

本文详细介绍了FPGA中Debayer算法,用于解码Bayer格式的图像传感器数据。通过5×5二维缓冲模块,根据像素点的行列坐标奇偶性选择不同的计算通道,分别计算R、B和G通道。G通道的计算较为复杂,涉及到相邻像素点R、B通道差值绝对值的比较。该算法在sysgen环境中实现,可以有效地恢复彩色图像。
摘要由CSDN通过智能技术生成
Debayer

Debayer 算法译成中文为解 Bayer 格式。

Bayer 格式指的是大多数彩色图像传感器在每个像素点位置只感应 RGB 三通道中一个通道的颜色,用于节约制造成本。而且由于人眼对绿色较为敏感,50% 的像素点感应 G,25% 的像素点感应 R,25% 的像素点感应 B。

不同型号的图像传感器像素点的 RGB 分布不同,比较典型的分布如下图所示:

在这里插入图片描述

由于每个像素点只有 1 个颜色通道的数值,对于其不包含的 2 个颜色通道的数据,由其周边 3 × 3 3\times 3 3×3(G通道使用 5 × 5 5\times 5 5×5)范围内对应颜色通道的均值表示。

在 sysgen 实现时,需要根据当前像素点的行列坐标的奇偶选择对应颜色通道的计算方法

图像数据首先进入 5 × 5 5\times 5 5×5二维缓冲模块,取出用于计算的全部缓冲数据,及缓冲后的像素点坐标 buf_x 和 buf_y:

在这里插入图片描述

用 Slice 模块截取缓冲后像素点坐标的最低位 LSB ,用于判断坐标值的奇偶:

在这里插入图片描述

Slice 模块配置如下:

在这里插入图片描述

行列坐标的 LSB 用 Concat 模块合并为 2 比特,送入 Mux 模块根据行列坐标奇偶状态在 4 个计算通道中选择:

在这里插入图片描述

R 通道计算

位置示意图中心点为当前用于计算的像素点, 5 × 5 5\times 5 5×5 二维缓冲输出并行像素点中,pix22 为当前像素点,对应位置示意图中心点。

将以下 4 种情况的计算结果对齐时序后送入前述的行列奇偶判断 Mux 中进行输出选择。

偶行偶列:周边只有 pix21 和 pix23 为 R 通道,由此 2 值的均值作为当前像素点的R值。

在这里插入图片描述

偶行奇列:当前像素点即为 R 通道,直接取用 pix22 的数值。

在这里插入图片描述

奇行偶列:周边有 pix11、pix13、pix31、pix33 为 R 通道,由此 4 值的均值作为当前像素点的 R 值。

在这里插入图片描述

奇行奇列:周边有 pix12 和 pix32 为 R 通道,由此 2 值的均值作为当前像素点的 R 值。

在这里插入图片描述

B 通道计算

在这里插入图片描述

送入 Mux 的 4 路计算结果,根据 B 通道的位置进行排序,共用 R 通道部分的计算结果:

  • ave12_32 指向 pix12 和 pix32 的均值
  • ave11_13_31_33 指向 pix11、pix13、pix31、pix33 的均值
  • ave21_23 指向 pix21 和 pix23 的均值
G 通道的计算

G 通道的计算最为特殊,不单纯时周边 G 通道像素点的均值,还需要判断 RB 通道的

偶行偶列与奇行奇列都为 G 通道,直接取 pix22 值:

在这里插入图片描述

偶行奇列和奇行偶列的计算原理如下:

偶行奇列:

在这里插入图片描述
G ( R ) = { G 1 + G 3 2 ∣ R 1 − R 3 ∣ &

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值