原博客地址:https://blog.csdn.net/joe9280/article/details/46952947

参考:https://blog.csdn.net/wgx571859177/article/details/79772626

1. 硬件上

私以为对CCD的原理有大致了解可以帮助我们对Beyer Pattern有更好的了解。我们知道镜CCD(Charge-coupled Device)通过滤镜将普通的入射光分为红绿蓝RGB三个分量。很容易联想到普通的图片每个像素点都包含RGB三个分量的信息,这很容易误导我们认为CCD也接收了每个像素点的三个通道的信息。然而并不是,原理图如下,每一个像素点CCD都只接收了RGB三个分量中的一个分量。一般而言是按照“RG/GB”的方式排列(对照图可以了解RG/GB其实是一个正方形的两行这么排列的)。

2. 算法上

Bayer彩色滤波阵列是当前最为流行的彩色图像数字获取形式。三个颜色滤波的形式如下:

一半的像素点为绿色(G),四分之一的像素点分别是红色(R)和蓝色(B)。

为了获得色彩信息,彩色图像传感器覆盖有红色、绿色或者蓝色的滤镜,这种滤镜以相同的模式重复出现(上图中为RG/GB,也可以看做GR/BG)。滤镜的排列模式可以不一样,但是普遍使用的Bayer Pattern是2*2的阵列。

3. Bayer format to RGB

将Bayer Pattern的格式转换为RGB,那就需要通过插值的方式将每个像素点中丢失的两个颜色找回来。有几种插值的方式可以使用,但是最常用的方法是线性插值的修正调节版本。

对红色(R)和蓝色(B)分量进行插值。

当一个绿色(G)的像素点上缺失蓝色(B)和红色(R)时,我们将这个像素点周围最近的两个相同的颜色做平均。如上图的第一张和第二张。中心像素点的红色(R)和蓝色(B)由周围最近的两个红色(R)和蓝色(B)求平均得到。 
如果是求一个红色(R)像素点上的蓝色(B)分量,上图中第三张。我们用最近的4个蓝色求平均得到。 
如果是求一个蓝色(B)像素点上的红色(R)分量,上图中第四张。我们用最近的4个红色求平均得到。 
求红色(R)和蓝色(B)像素点上的绿色(G)分量:

G(R) = (G1 + G3) / 2 if abs(R1 – R3) < abs(R2 – R4) 
G(R) = (G2 + G4) / 2 if abs(R1 – R3) > abs(R2 – R4) 
G(R) = (G1 + G2 + G3+ G4) / 4 if abs(R1 – R3) = abs(R2 – R4)

G(B) = (G1 + G3) / 2 if abs(B1 – B3) < abs(B2 – B4) 
G(B) = (G2 + G4) / 2 if abs(B1 – B3) > abs(B2 – B4) 
G(B) = (G1 + G2 + G3+ G4) / 4 if abs(B1 – B3) = abs(B2 – B4)

Bayer Pattern——RGGB的更多相关文章

  1. Bayer Pattern

    在刚加入工作的时候,听到最多的就是RGGB Bayer Pattern.在之前的接触中,一直默认一张图片的每个像素点有RGB三个分量,那“RGGB Bayer Pattern”究竟是什么意思.在网上查 ...

  2. bayer转dng实现过程记录

    前言 项目中需要将imx185出来的raw数据转成dng格式,一开始认为很简单的事情,后面才发现还是挺复杂的!!!首先考虑的是不写任何代码,直接用adobe提供的转换工具来转,结果发现,不仅是adob ...

  3. Bayer RGB和RGB Raw

    Bayer RGB和RGB Raw 对于SENSOR来说,Bayer RGB和RGB Raw两者的图象结构都是BG/GR的(Bayer pattern说的是COLOR FILTER的结构, 分为两种: ...

  4. bayer, yuv, RGB转换方法

    因为我的STVxxx USB camera输出格式是bayer格式,手头上只有YUVTOOLS这个查看工具,没法验证STVxxx在开发板上是否正常工作. 网上找了很久也没找到格式转换工具,最后放弃了, ...

  5. 【VS开发】【图像处理】 bayer, yuv, RGB转换方法

    因为我的STVxxx USB camera输出格式是bayer格式,手头上只有YUVTOOLS这个查看工具,没法验证STVxxx在开发板上是否正常工作. 网上找了很久也没找到格式转换工具,最后放弃了, ...

  6. [转]camera的构成

    camera的构成 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进行处理,最终转换成手机屏 ...

  7. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  8. Color Processing 色彩处理

    How to read and write pixel data Bitmap processing Image Stride Bayer Color Filter Pattern High-Qual ...

  9. Sensor信号输出YUV、RGB、RAW DATA、JPEG【转】

    本文转载自:http://blog.csdn.net/southcamel/article/details/8305873 简单来说,YUV: luma (Y) + chroma (UV) 格式, 一 ...

随机推荐

  1. SpringBoot事务使用和回滚

    Springboot中事务的使用: 1.启动类加上@EnableTransactionManagement注解,开启事务支持(其实默认是开启的). 2.在使用事务的public(只有public支持事 ...

  2. Auto Generate Reflection Information for C++

    https://www.reddit.com/r/gamedev/comments/3lh0ba/using_clang_to_generate_c_reflection_data/ https:// ...

  3. C# 发送邮件通知

    web.config <!-- 配置发邮件:邮件访问登录地址--> <add key="HttpsUrl" value="http://localhos ...

  4. origin Tips

    origin Tips 注意事项 在最初画图时,需要考虑到最好将图片的尺寸限制在 1 张 A4 纸的大小,不然有可能在插入 latex 的时候出问题 . 如何修改图片的尺寸?简而言之就是将画布中的图片 ...

  5. 关于input框仿百度/google自动提示的方法

    引入jquery-autocomplete文件 链接:https://pan.baidu.com/s/1hW0XBYH8ZgJgMSY1Ce6Pig 密码:tv5b $(function() { $( ...

  6. IDEA中Javaweb项目图片加载不出来解决方案

    针对IDEA中Javaweb项目中无法加载图片 一.项目的结构及问题介绍 项目结构如下: 在500.jsp页面中访问了img目录下的相关图片,比如背景图片,我在500.jsp中是这样写的路径  bac ...

  7. 关于如何设置IDEA中的servlet的模板

    关于如何设置IDEA中的servlet的模板 点击左上角的File: Setting --> Editor --> File and Code Templates --> Other ...

  8. Superset 0.37 发布——颜值最高的数据可视化平台

    Superset 0.37,增加可视化插件,行级权限控制 使用Superset已经有一段时间,其良好的体验与丰富的图表功能节省了大量的时间.但是对于权限,自定义图表,图表下载,报警邮件一直没有很好的支 ...

  9. App网络测试

    弱网测试作为健壮性测试的重要部分,对于移动端测试必不可少. 什么样的网络属于弱网? 小于或等于2G速率的都属于弱网,且随着5G的到来,3G网络速率的降低,未来3G也会逐渐划入弱网的行列. 对于弱网的数 ...

  10. vue-element-admin实战 | 第二篇: 最小改动接入后台实现根据权限动态加载菜单

    一. 前言 本篇基于 有来商城 youlai-mall微服务项目,通过对vue-element-admin的权限菜单模块理解个性定制其后台接口,实现对vue-element-admin工程几乎不做改动 ...