RGB格式

RGB组合格式

名字

RGB组合格式

描述

此格式用来匹配PC图形帧缓存。每个像素占据8,16,24或32个位,他们都是组合像素格式,其意为在内存中所有像素数据都是相邻排列的。当使用这些格式之一时,驱动应该上报颜色空间为V4L2_COLORSPACE_SRGB。

表2.6 组合RGB图像格式

定义 Byte 0 Byte 1 Byte 2 Byte 3
V4L2_PIX_FMT_RGB332 RGB1 r2 r1 r0 g2 g1 g0 b1 b0 - - -
V4L2_PIX_FMT_RGB444 R444 g3 g2 g1 g0 b3 b2 b1 b0 a3 a2 a1 a0 r3 r2 r1 r0 - -
V4L2_PIX_FMT_RGB555 RGBO g2 g1 g0 b4 b3 b2 b1 b0 a r4 r3 r2 r1 r0 g4 g3 - -
V4L2_PIX_FMT_RGB565 RGBP g2 g1 g0 b4 b3 b2 b1 b0 r4 r3 r2 r1 r0 g5 g4 g3 - -
V4L2_PIX_FMT_RGB555X RGBQ a r4 r3 r2 r1 r0 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0 - -
V4L2_PIX_FMT_RGB565X RGBR r4 r3 r2 r1 r0 g5 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0 - -
V4L2_PIX_FMT_BGR666 BGRH b5 b4 b3 b2 b1 b0 g5 g4 g3 g2 g1 g0 r5 r4 r3 r2 r1 r0 -
V4L2_PIX_FMT_BGR24 BGR3 b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 -
V4L2_PIX_FMT_RGB24 RGB3 r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0 -
V4L2_PIX_FMT_BGR32 RGR4 b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 a7 a6 a5 a4 a3 a2 a1 a0
V4L2_PIX_FMT_RGB32 RGB4 a7 a6 a5 a4 a3 a2 a1 a0 r7 r6 r5 r4 r3 r2 r1 r0 g7 g6 g5 g4 g3 g2 g1 g0 b7 b6 b5 b4 b3 b2 b1 b0

第7位是符号位,a(alpha)的值在读取驱动时并未定义,所以编写驱动时忽略它吧,除非是在Overlay或输出Overlay时候协商了透明度,又或是在使用V4L2_CID_ALPHA_COMPONENT控制视频捕捉时候设置透明度部分。

例2.2 V4L2_PIX_FMT_BGR24 4 x 4像素图像

start + 00:    B00    G00    R00    B01    G01    R01    B02    G02    R02    B03    G03    R03
start + 12: B10 G10 R10 B11 G11 R11 B12 G12 R12 B13 G13 R13
start + 24: B20 G20 R20 B21 G21 R21 B22 G22 R22 B23 G23 R23
start + 36: B30 G30 R30 B31 G31 R31 B32 G32 R32 B33 G33 R33

V4L2_PIX_FMT_SBGGR8('BA81')

名字

V4L2_PIX_FMT_SBGGR8 贝尔RGB格式

描述

这一般是数字相机的本地格式,与CCD设备的传感器阵列对应。每个像素只有一个值或是红色、绿色、蓝色,丢失的部分必须由相邻像素插值而来。第一行从左到右由蓝色和绿色组成,第二行是绿色和红色,每两行/列以此类推。

例2.3 V4L2_PIX_FMT_SBGGR8 4 x 4像素图像

start + 0:    B00    G01    B02    G03
start + 4: G10 R11 G12 R13
start + 8: B20 G21 B22 G23
start +12: G30 R31 G32 R33

V4L2_PIX_FMT_SGBRG8 ('GBRG')

名字

V4L2_PIX_FMT_SGBRG8 贝尔RGB格式

描述

贝尔格式描述基本相同,只是像素排列规则不同。此格式是第一行从做到有包含绿色和蓝色,第二行是红色和绿色,每两行/列依此类推。

例2.4 V4L2_PIX_FMT_SGBRG8 4 x 4像素图像

start + 0:    G00    B01    G02    B03
start + 4: R10 G11 R12 G13
start + 8: G20 B21 G22 B23
start +12: R30 G31 R32 G33

V4L2_PIX_FMT_SGRBG8 ('GRBG')

名字

V4L2_PIX_FMT_SGRBG8 贝尔RGB格式

描述

第一行从左到右包含绿色和蓝色,第二行包含红色和绿色,每两行/列依此类推。

例2.5 V4L2_PIX_FMT_SGRBG8 4 x 4像素图像

start + 0:    G00    R01    G02    R03
start + 4: R10 B11 R12 B13
start + 8: G20 R21 G22 R23
start +12: R30 B31 R32 B33

V4L2_PIX_FMT_SRGGB8 ('RGGB')

名字

V4L2_PIX_FMT_SRGGB8 贝尔RGB格式

描述

第一行从左到右包含红色和绿色,第二行包含绿色和蓝色,每两行/列依此类推。

例2.6 V4L2_PIX_FMT_SRGGB8 4 x 4像素图像

start + 0:    R00    G01    R02    G03
start + 4: G10 B11 G12 B13
start + 8: R20 G21 R22 G23
start +12: G30 B31 G32 B33

V4L2_PIX_FMT_SBGGR16 ('BYR2')

名字

V4L2_PIX_FMT_SBGGR16 贝尔RGB格式

描述

此格式与V4L2_PIX_FMT_SBGGR8很相似,不同是每个像素拥有16位深度。低数据存储在小地址内存中(低位机)。实际采样精度可能会比16位低,必须每个像素10位,值范围0~1023(如MT9T001)。

例2.7 V4L2_PIX_FMT_SBGGR16 4 x 4像素图像

start + 0:    B00low    B00high    G01low    G01high    B02low    B02high    G03low    G03high
start + 8: G10low G10high R11low R11high G12low G12high R13low R13high
start +16: B20low B20high G21low G21high B22low B22high G23low G23high
start +24: G30low G30high R31low R31high G32low G32high R33low R33high

V4L2_PIX_FMT_SRGGB10 ('RG10'), V4L2_PIX_FMT_SGRBG10 ('BA10'), V4L2_PIX_FMT_SGBRG10 ('GB10'), V4L2_PIX_FMT_SBGGR10 ('BG10')

名字

V4L2_PIX_FMT_SRGGB10 ('RG10'), V4L2_PIX_FMT_SGRBG10 ('BA10'), V4L2_PIX_FMT_SGBRG10 ('GB10'), V4L2_PIX_FMT_SBGGR10 ('BG10') 10bit贝尔格式扩展的16位格式

描述

这4个像素格式是每个颜色10位的raw sRGB/贝尔格式。每个颜色部分都存储在16位字段中,高6位是不用的,填充0。每n像素行包含n/2个绿色取样和n/2个蓝色取样或红色取样,红色和蓝色行交替。字节以低位机序列存储。他们通常是来描述如GRGR...BGBG...或RGRG...GBGB...等等。以下是其中的一个例子。

例2.8 V4L2_PIX_FMT_SBGGR10 4 x 4像素图像

每个代表一个字节,高字节的高6位为0
start + 0: B00low B00high G01low G01high B02low B02high G03low G03high
start + 8: G10low G10high R11low R11high G12low G12high R13low R13high
start +16: B20low B20high G21low G21high B22low B22high G23low G23high
start +24: G30low G30high R31low R31high G32low G32high R33low R33high

V4L2_PIX_FMT_SBGGR10ALAW8 ('aBA8'), V4L2_PIX_FMT_SGBRG10ALAW8 ('aGA8'), V4L2_PIX_FMT_SGRBG10ALAW8 ('agA8'), V4L2_PIX_FMT_SRGGB10ALAW8 ('aRA8')

名字

V4L2_PIX_FMT_SBGGR10ALAW8 , V4L2_PIX_FMT_SGBRG10ALAW8 , V4L2_PIX_FMT_SGRBG10ALAW8 , V4L2_PIX_FMT_SRGGB10ALAW8 10位贝尔格式压缩至8位。

描述

这些格式是每个颜色10位的raw sRGB/贝尔格式压缩到8位,使用A-LAW算法。每个颜色部分在内存中占据8位,其他与V4L2_PIX_FMT_SRGGB8特性类似。

V4L2_PIX_FMT_SBGGR10DPCM8 ('bBA8'), V4L2_PIX_FMT_SGBRG10DPCM8 ('bGA8'), V4L2_PIX_FMT_SGRBG10DPCM8 ('BD10'), V4L2_PIX_FMT_SRGGB10DPCM8 ('bRA8')

名字

V4L2_PIX_FMT_SBGGR10DPCM8, V4L2_PIX_FMT_SGBRG10DPCM8, V4L2_PIX_FMT_SGRBG10DPCM8, V4L2_PIX_FMT_SRGGB10DPCM8 10位贝尔格式压缩至8位。

描述

使用DPCM将每个颜色部分压缩至8位。DPCM调整是有损耗的,每个颜色在内存中占用8位,其他部分与V4L2_PIX_FMT_SRGGB10 ('RG10'), V4L2_PIX_FMT_SGRBG10 ('BA10'), V4L2_PIX_FMT_SGBRG10 ('GB10'), V4L2_PIX_FMT_SBGGR10 ('BG10')类似。

V4L2_PIX_FMT_SRGGB12 ('RG12'), V4L2_PIX_FMT_SGRBG12 ('BA12'), V4L2_PIX_FMT_SGBRG12 ('GB12'), V4L2_PIX_FMT_SBGGR12 ('BG12')

名字

V4L2_PIX_FMT_SRGGB12, V4L2_PIX_FMT_SGRBG12, V4L2_PIX_FMT_SGBRG12, V4L2_PIX_FMT_SBGGR12 12位贝尔格式扩展为16位

描述

每个颜色12位的raw sRGB/贝尔格式,每个颜色部分被保存在16位的字段中,高6位为0。每个n像素行包含n/2个绿色取样及n/2个蓝色或红色取样,红、蓝行交替。字节按低位机顺序存储在内存中,通常用来描述如GEGE...BGBG...或RGRG...RBRB...等。下边是其中一个的例子。

例2.9 V4L2_PIX_FMT_SBGGR12 4 x 4像素图片

start + 0:    B00low    B00high    G01low    G01high    B02low    B02high    G03low    G03high
start + 8: G10low G10high R11low R11high G12low G12high R13low R13high
start +16: B20low B20high G21low G21high B22low B22high G23low G23high
start +24: G30low G30high R31low R31high G32low G32high R33low R33high

【VS开发】【图像处理】RGB各种格式的更多相关文章

  1. 【转】 RGB各种格式

      转自:https://blog.csdn.net/LG1259156776/article/details/52006457?locationNum=10&fps=1 RGB组合格式 名字 ...

  2. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  3. < python PIL - 批量图像处理 - RGB图像生成灰度图像 >

    < python PIL - 批量图像处理 - RGB图像生成灰度图像 > 直接用python自带的PIL图像库,将一个文件夹下所有jpg/png的RGB图像转换成灰度/黑白图像 from ...

  4. 记录我第一次在Android开发图像处理算法的经历

    大概是四月底的时候.有人加我QQ问我是否做能做一些基于图像皮肤检測的算法, 主要是实现对皮肤六项指标: 1.      水分 2.      有份 3.      痤疮与痘痘 4.      色斑与肤 ...

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

    Bayer图像处理   Bayer是相机内部的原始图片, 一般后缀名为.raw. 很多软件都可以查看, 比如PS. 我们相机拍照下来存储在存储卡上的.jpeg或其它格式的图片, 都是从.raw格式转化 ...

  6. yuv rgb 像素格式1

    ===========大小============= 一般,直接采集到的视频数据是RGB24的格式 RGB24一帧的大小size=width×heigth×3 Byte, RGB32的size=wid ...

  7. java开发编译器:中间语言格式

    阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程: http://study.163.com/course/courseMain.htm?courseId=10028300 ...

  8. iOS 开发图片资源选择png格式还是jpg格式

    对于iOS本地应用程序来说最简单的答案就是始终使用PNG,除非你有非常非常好的理由不用它. 当iOS应用构建的时候,Xcode会通过一种方式优化.png文件而不会优化其它文件格式.它优化得相当的好 他 ...

  9. 操作系统开发系列—11.ELF格式 ●

    ELF文件的结构如下图所示: ELF文件由4部分组成,分别是ELF头(ELF header).程序头表(Program header table).节(Sections)和节头表(Section he ...

随机推荐

  1. 不知如何摧毁Kendo UI for jQuery小部件?这份指南不得不看

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

  2. mysql常用查询命令

    转引自:https://www.cnblogs.com/widows/p/7137184.html 常用mysql命令 show variables like 'character_set_clien ...

  3. hiho #1038 : 01背包 (dp)

    #1038 : 01背包 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励 ...

  4. Angular7和leaflet一起使用时的作用域不一致

    Angular7和leaflet一起使用时的作用域不一致问题,使用(e) =>可以完美解决. 使用原始的JavaScript: map.on("click", functio ...

  5. Java三大体系JavaEE、JavaSE、JavaME的区别

    Java由四方面组成: ●Java编程语言,即语法. ●Java文件格式,即各种文件夹.文件的后缀. ●Java虚拟机(JVM),即处理*.class文件的解释器. ●Java应用程序接口(Java ...

  6. 【Python之路】特别篇--Python线程池

    版本一: #!/usr/bin/env python # -*- coding:utf-8 -*- import Queue import threading class ThreadPool(obj ...

  7. tomcat 散点杂记

    tomcat有很多细碎的知识点和一些坑点,我将再次记录 域名直指项目 我们经常访问项目都要带上项目目录 eg: http://xwiki.test.com/xwiki or http://jenkin ...

  8. Zookeeper入门(七)之Java连接Zookeeper

    Java操作Zookeeper很简单,但是前提要把包导对. 关于Zookeeper的Linux环境搭建可以参考我的这篇博客:Linux环境下Zookeeper安装 下面进入正题: 一.导入依赖 < ...

  9. 剑指offer31----栈的压入、弹出序列

    题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对 ...

  10. Java-线程等待、唤醒与中断

    一.sleep() 与 wait() 两者都会让当前线程进入等待状态.唤醒后都需要等待 CPU 资源,不一定会立即执行.若在等待期间被调用此线程的的 interrupt() 方法,将会产生 Inter ...