0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过FPGA变成我们看到的色彩斑斓的图片

电子工程师 来源:未知 作者:李倩 2018-11-14 10:42 次阅读

想知道图像传感器输出的图像如何通过FPGA变成我们看到的色彩斑斓的图片吗?今天我们就带你一探究竟。

01

什么是Raw像素?

我们通常看到的照片都是经过ISP以及一些列图像处理后的结果,那么最原始的由图像传感器输出的像素是什么样子的呢?你看到的美美哒画面是这样的:

图1

但其实传感器输出的画面是类似这样的:

图2

没错这就是我们常说的Raw像素构成的Bayer模式,很多玩单反的人都知道大部分单反相机都支持Bayer格式Raw像素模式输出照片,原因是Raw像素是传感器获得的最原始的图像信息,方便我们后期做处理。今天我们要说的就是如何用FPGA处理Raw像素。在此之前我们还是先对Raw像素和Bayer格式有个大概了解吧。

我们可以认为每个像素均由红绿蓝俗称RGB三个颜色分量组成,对于Raw像素你可以认为它是只含有一个颜色分量的像素。对于Bayer模式,我们来看一组图,一副图像如果只显示它的偶数行偶数列,并且只显示它的红色分量,那么看上去就是如图3的样子:

图3

如果只显示奇数行奇数列并且只显示它的蓝色分量,那么它就是图4的样子:

图4

剩下的像素只显示它的绿色分量,就是图5的样子。

图5

我们把这三个分量组合起来就看到图2的那种带有彩色马赛克的图片,这也就是我们常说的Bayer格式。当然传感器输出的Raw像素并不是这么得来的,这里只是举个栗子给大家形象的解释一下Bayer格式里Raw像素是如何分布的。

接下来我们就说说如何用FPGA实时做De-Bayer。

02

如何用FPGA做De-Bayer?

这里所谓的De-Bayer就是将Bayer格式转换成正常的RGB格式。我们采用双线性插值法,这是一个平衡计算量和图像质量的算法。双线性插值法是利用它自己邻近的4个像素的颜色分量来补充自己所缺失的两种颜色分量。

传感器输出像素通常是逐行扫描的方式,所以首先需要利用FPGA构建3*3的模板。

图6

如图6,通过移位寄存器和FIFO构建3*3的模板。FIFO的功能是用来做图像行缓存,所以FIFO的大小需要根据图像的分辨率以及像素位宽来确定。Lattice Crosslink 芯片片内拥有20个9K的分布式RAM,可用于做行缓存。

双线性插值算法是计算该像素左右上下像素的均值来作为填充颜色,对于逐行扫描输出的传感器完全可以用流水线处理的方法来做加法和除法运算,从而达到很好的性能。这里要注意的一点是边界的处理问题,因为边界像素我们无法为它构建3*3模板,这里对于边界像素可以采用邻近像素颜色插值的方法来进行处理。

目前许多传感器都是MIPI接口,而Crosslink本身就拥有强大的MIPI桥接功能,加入De-Bayer这对于Crosslink来说就可以轻松实现CSI-2输入DSI输出。此外Crosslink处理双线性De-Bayer速度可以满足148.5兆赫兹,这就意味着可以处理1080p 60帧的CSI-2转DSI。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1600

    文章

    21281

    浏览量

    592869
  • 图像传感器
    +关注

    关注

    68

    文章

    1731

    浏览量

    128816

原文标题:图像传感器眼中的你

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    大联大推出德州仪器为车载平视显示设计的DLP芯片组

    凭借屡获殊荣的DLP Cinema® DMD,该芯片组能够在挡风玻璃上呈现色彩斑斓、信息丰富的图像
    发表于 08-04 09:22 890次阅读

    建立一个基于FPGA的动态图片显示基础框架

    前面我们设计了基于FPGA的静态图片显示,并对一幅彩色图片提取了灰度,学习了RGB转Gray算法。
    发表于 07-08 16:57 485次阅读
    建立一个基于<b class='flag-5'>FPGA</b>的动态<b class='flag-5'>图片</b>显示基础框架

    下位机发送来的数据能通过二值化处理,变成黑白图片

    能不能用由下位机发送来的数据,通过二值化处理,变成一幅图片,黑白的,是不是叫做二值图的……
    发表于 02-16 09:35

    图片变成点阵代码的程序,求助大神

    图片变成点阵代码的程序
    发表于 08-10 15:06

    麦穗迷你扩展板瑞士军刀,带指南针1寸TFT显示屏,支持NanoPi 2

    /Matrix_-_Compact_Kit/zhMatrix - Compact_Kit是一款紧凑、简洁的多功能开发者套件,该套件由一系列常用电气元件经过精心构建而成,色彩斑斓,资源丰富,包括了按键、LED、无源
    发表于 12-31 17:33

    猫王小王子OTR,我们一起在路上

    60年代的色彩艺术相遇,天雷勾动地火,注定要发生点故事。 于是小王子OTR就这样华丽丽的诞生了,那些我们不曾坚守的执念,他坚持了下来,从一而终,每一台色彩斑斓的小王子OTR都像是一个灵动的小生命,它
    发表于 11-24 07:01

    Matrix - Compact_Kit_B扩展板性能资料

    Matrix - Compact_Kit_B是为Nanopi 2 Fire的接口开发的一款紧凑、简洁的多功能开发者套件,该套件由一系列常用电气元件经过精心构建而成,色彩斑斓,资源丰富,包括了按键
    发表于 11-28 17:39

    助力全站WebP ,阿里云云上FPGA 团队发布 WebP图片解决方案

    1.3GB测试结果测试结果解读当输入图片切换成1k时,我们可以看到,受限于输入图片的尺寸, FPGA 的加速效果相比于对照组1略有下降,但
    发表于 01-11 15:36

    YCbCr色彩空间和RGB色彩空间之间的转换方法介绍

    分辨率的视频转换,而且支持YCbCr444、YCbCr422和YCbCr420等多种打包或平面YCbCr格式。本设计方案已用VerilogHDL语言实现,并在FPGA平台验证通过,转换后的RGB视频可直接输出到显示器显示,并能实现视频控制,存储,回放等功能。
    发表于 07-01 06:41

    PCB设计化繁就简

    打造的理由:我们知道 AltiumDesigner(Protel 升级版)的 PCB 设计过程中,会陷入色彩斑斓的走线、元 件、过孔、覆铜等等的迷宫中,因此我们有必要化繁就简,突出自己想要操作的部分。
    发表于 08-08 08:39

    是否可以通过附加的图片设备标记告诉我们哪个Xilinx部件?

    嗨,我们想检查您是否可以通过附加的图片设备标记告诉我们哪个Xilinx部件?是否符合Rohs标准?谢谢。希望早日收到你的消息。
    发表于 04-10 10:35

    无法看到FPGA的spi内核

    嗨,我们我们的一个项目中使用Artix7100t FPGA,我必须在这个FPGA中使用spi核心。在xilinx 14.7 coregen中,我无法
    发表于 04-13 09:58

    如何将FPGA变成USB数据采集板呢?

    ,而且,在此 FPGA 上实现一个运行在近 100MHz 的电路并不十分困难。如果我们使用 100MHz 作为内部时钟,那么数据传输时序图会变成:需要说明的是我们使用 100MHz 使
    发表于 03-21 14:34

    如何使用FPGA实现图像采集系统中色彩复原模块

    了基于Altera公司Cyclone II系列FPGA芯片的图像采集系统,并采用Verilog硬件描述语言在FPGA上实现了色彩复原算法。实验结果表明,该FPGA利用其丰富的内部硬件资
    发表于 04-01 11:21 10次下载
    如何使用<b class='flag-5'>FPGA</b>实现图像采集系统中<b class='flag-5'>色彩</b>复原模块

    基于FPGA的SD NAND图片显示实现

    文章目录0、前言1、目标2、图片的预处理3、SDNAND的预处理4、FPGA实现4.1、详细设计4.2、仿真4.3、实验结果·前言在上一篇文章《基于FPGA的SD卡的数据读写
    的头像 发表于 01-07 10:42 437次阅读
    基于<b class='flag-5'>FPGA</b>的SD NAND<b class='flag-5'>图片</b>显示实现