12bit GRBG小端格式1920×1280 RAW图像像素存储方式咨询
12bit GRBG小端RAW图像(1920×1280)存储规则解答
你之前的参数推导是正确的:1920×1280分辨率共2457600个像素,总文件大小4915200字节,刚好每个像素占2字节(16bit),其中4bit为无意义填充位,有效位宽为12bit。这类RAW的存储规则可以拆解为三部分:
1. 单像素的小端存储逻辑
因为是小端字节序+12bit补0填充的16bit封装,每个像素对应的2字节存储规则为:
- 低地址字节:存储12bit有效像素值的低8位
- 高地址字节:低4位存储12bit有效像素值的高4位,高4位为填充位(默认全为0,可直接丢弃)
举个解析示例:如果某像素对应的2字节为0xAB 0x0C(低地址在前),那么有效12bit值为0xCAB,对应十进制3243。
2. GRBG Bayer阵列的行内像素排列
GRBG格式的拜耳阵列按行交替排列,对应1920宽度的每行像素顺序为:
- 奇数行(第0行、第2行……第1278行,从0计数):像素按
G R G R …… G R循环排列,共1920个像素 - 偶数行(第1行、第3行……第1279行,从0计数):像素按
B G B G …… B G循环排列,共1920个像素
3. 全文件的存储顺序
该RAW无额外文件头,所有像素按行连续存储:
- 文件起始地址0开始存储第0行的全部1920个像素,单行长1920×2=3840字节
- 第0行存储完成后直接拼接第1行数据,依次类推直到存储完1280行所有像素
你可以直接用十六进制编辑器取前几行数据按上述规则解析,就能对应到拜耳阵列的像素值。
内容的提问来源于stack exchange,提问作者Vamsi
相关产品推荐
相关产品推荐

