嵌入式 Bayer图像处理

原创 2013年12月02日 14:51:46

Bayer是相机内部的原始图片, 一般后缀名为.raw. 很多软件都可以查看, 比如PS.

我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片, 都是从.raw格式转化

过来的. .raw格式内部的存储方式有多种, 但不管如何, 都是前两行的排列不同. 其

格式可能如下:

G R G R G R G R

B G B G B G B G

G R G R G R G R

B G B G B G B G

横为2的倍数, 竖为4的倍数, 它们构成了分辨率. 如, 上面则代表了 8 * 4 分辨率的

Bayer图.

我们要知道的是, G = 2 * R 及 G = 2 * B, 即绿色值为红色值或蓝色值的两倍, 因

为人眼对绿色更敏感, 所以绿色的分量更重.

下面说一下从bayer转换成rgb图的算法, RGB图, 即为三色图, 一个像素点就由RGB

三种颜色构成的混合色, 而bayer图一个像素就只有一个颜色, 或R或G或B. 因为bayer

一个像素点只有一种颜色, 需要借助这个像素点周围的颜色对它进行插值(填充)另外的

两种颜色, 它本身的颜色就不用插了. 一般的算法是:

对于插入R和B,

Rx = ( R1 + R2 ) / 2; 或-------------取上边和下边的平均值,或是左边和右边的平均值

Rx = ( R1 + R2 + R3 + R4 ) / 4;----取四个边的平均值

B同理. 如:

G B G

R G R

G B G

对于中间的G, 它缺少 R和B, 用上下和左右的平均值进行求值.

对于

B G B

G R G

B G B

这个图呢, 中间点R, 缺少G和B, G暂时没讨论, 那么 B, 就是从R的四个B角进行求平均值.

==============================================

如果插入G, 稍有些复杂.

不过一般的算法与R和B一样, 复杂的算法, 其复杂程度也提升一倍, 不过精度更高, 如果对于

视频监测系统来说, 精度相对来说不必要求太高, 用R或B的解法即可. 下面说复杂的:

对于图:

         R1

         G1

 R4 G4 R G2 R2

         G3

         R3

对于中间点R, 它需要插入G和B, B不讨论, 主要讨论G, 它周围有四个点G1, G2, G3, G4.

         ( G1 + G3 ) / 2--------------如果 |R1-R3| < |R2-R4|

G(R) = ( G2 + G4 ) / 2-------------如果 |R1-R3| > |R2-R4|

         ( G1 + G2 + G3 + G4 ) / 4--如果 |R1-R3| = |R2-R4|

如果周围出现的像素点颜色为B, 就应该比较|B1-B3|与|B2-B4|的值.

====================================================

还有关于将RGB格式转换为YUV格式的算法, 这里不想讨论了.

这里要注意的是, bayer每个像素的值是8位的. 但是有的相机的bayer格式却有10位, 12位

以及14位, 16位的, 那么如何将这些高于8位的数据转换为8位数据呢?. 拿12位数据来说, 有的

人是取高8位或是低8位, 那么这样就会出现一个问题, 这张图像会有一个斜度, 不是偏亮就是偏

暗, 或是出现其它乱七八糟的问题, 颜色问题总是不能令人满意. 这个时候就要去较正它, 无疑是

浪费了时间.

另一种算法是使用log映射, 据老外说, 这种转换法具有较高的精度. 拿12位来说, 一般转换算法:

f(in) = 2 ^ ( log(in) * 8 / 12 )

转换图为:

|8                                       .

|                    .   

|       .

|_______________________12

因为log256 = 8, log4096 = 12, 对了log是以2为底哦.

做得更好一点的算法, 可能根据提供的曝光等其它因素不同, 而将算法进行调整, 这样当一些意外

事件发生时, 产生的图片也不会失真严重.

如何从数码相机的raw照片中提取Bayer Pattern Image和raw照片参数

现在大多数的数码相机都带拍摄raw照片的功能,和直出的jpeg照片不同,raw片具有很大的后期处理空间。Adobe制定了DNG(Digital Negative)规范,这个规范目前已经到了版本1.4。...
  • ispforfun
  • ispforfun
  • 2015年01月25日 15:39
  • 824

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

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

MATLAB图像处理_Bayer图像处理 & RGB Bayer Color分析

Bayer图像处理 Bayer是相机内部的原始图片, 一般后缀名为.raw. 很多软件都可以查看, 比如PS. 我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片, 都是从.raw格式...
  • scottly1
  • scottly1
  • 2014年12月27日 13:08
  • 3040

图像bayer格式介绍

1 图像bayer格式介绍   bayer格式图片是伊士曼·柯达公司科学家Bryce Bayer发明的,Bryce Bayer所发明的拜耳阵列被广泛运用数字图像。   对于彩色图像,需要采集多种最...
  • bingqingsuimeng
  • bingqingsuimeng
  • 2017年03月13日 14:45
  • 1386

解读彩色工业相机中的拜耳(Bayer)变换

解读彩色工业相机中的拜耳(Bayer)变换
  • minicar1388
  • minicar1388
  • 2017年05月03日 11:45
  • 755

opencv中Bayer 图像到RGB图像装换的问题

在将bayer图像转换成为rgb的时候遇到的问题 Mat bayer = imread("/home/pan/Desktop/data/Testaufbau_Ecoflac153.tif",-1);...
  • vincentlipan
  • vincentlipan
  • 2014年07月02日 22:17
  • 6012

sensor输出的四种类型:YUV,RGB,RAW RGB,JPEG。

简单来说, YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的 RGB: 传统的红绿蓝格式,比如RG...
  • huqingwang
  • huqingwang
  • 2013年07月03日 14:47
  • 7303

低复杂度Bayer图像色彩重建算法

摘要:针对Bayer图像色彩重建效果越好的算法需要越多计算量,占用越多硬件资源问题,提出了一种低复杂度的色彩重建算法。首先使用Hamilton-Adam (H-A)算法对Bayer图像进行预插值并求出...
  • luotong86
  • luotong86
  • 2017年07月12日 18:55
  • 677

拜耳阵列(拜耳马赛克)简介

拜耳阵列是实现CCD 或CMOS 传感器拍摄彩色图像的主要技术之一。它是一个4×4阵列,由8个绿色、4个蓝色和4个红色像素组成,在将灰度图形转换为彩色图片时会以2×2矩阵进行9次运算,最后生成一幅彩色...
  • youmingyu
  • youmingyu
  • 2016年09月18日 11:46
  • 3499

Bayer模型的颜色插值算法

图像采集的功能一般用CCD和CMOS传感器来实现。但是这两种图像传感器在一个像素上只能采集 RGB颜色的一个分量,为了获得最佳的图像效果,需要3个图像传感器分别采集不同的颜色分量,但考虑 到产品的...
  • chenyu19880302
  • chenyu19880302
  • 2013年11月15日 15:53
  • 4311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Bayer图像处理
举报原因:
原因补充:

(最多只允许输入30个字)