Python 打开Raw data
前言
Raw data 是图像传感器输出的原始图像数据。随着图像传感器性能的发展,Raw data包含8/10/12/14/16/20/24 bit。
但不同于JPEG、BMP 等标准图像格式,缺乏一个标准、广泛的软件,打开Raw data 。本文借助NumPy打开Raw data。
一、NumPy
NumPy(Numerical Python)是Python的一种开源的数值计算扩展。可用来存储和处理大型矩阵,支持大量的维度数组与矩阵运算,对数组运算提供大量的数学函数库 。
二、使用步骤
1.引入库
代码如下:
import numpy as np
from PIL import Image as im
2.读入Raw data
分析Raw data,Max 、Min value ,确定正确的Bit-wide 和Data-format。
以12-bit raw 为例,通常存储为16-bit,用8-bit显示,需要进行数据转换。
可能存在以下存储格式:
543210XX_DCBA9876 (Little-Endian)
DCBA9876_543210XX (Big-Endian)
XXDCBA98_76543210
代码如下:
file_path='raw12.raw'
def RAW12(file_path):
print('Load raw12')
# Image information: Data format, rows, columns