MIPI数据存储

参考博客:https://blog.csdn.net/luzhanbo207/article/details/80244912

        在相机数据处理中,即数字图像处理中经常需要处理MIPI Raw数据和Raw数据,这里简单说明一下二者的差别(小端存储为例)。 一般来说,传感器采集的Raw数据通常为10bit,那么存储Raw数据就需要两个Byte,这将导致其中有4个bit位是空着的,造成空间浪费。MIPI Raw数据则充分利用了这个特性,采用5个Byte,共40bit存储4个Raw数据。其存储格式如下图所示: 

MIPI数据存储_第1张图片

那么相应的由MIPI Raw转换到标准Raw数据的转化过程如下代码所示:

//b0-b4分别为连续读出的五个uint8类型的数据,pix0-pix4为四个像素值
pix0=( (b4>>6) & 0x3 ) + (b0 >>2));
pix1=( (b4>>4) & 0x3 ) + (b1 >>2));
pix2=( (b4>>2) & 0x3 ) + (b2 >>2));
pix3=(  b4     & 0x3 ) + (b3 >>2));

 

你可能感兴趣的:(C/C++)