简记下使用rawpy提取raw图像并转化为rgb。rawpy就是libraw的python封装,rawpy.imread直接可以读到raw数据,postprocess方法可以走完isp(BWC、RBGain、demosaic、gamma),得到一副RGB图像。postprocess的参数可以用来控制后处理流程,raw还有enhance模块,主要封装了坏点矫正,更细致的修改查阅官方文档。
postprocess不加参数,图片颜色可能不正常,use_camera_wb(如果raw中有相机拍摄时的白平衡参数)或use_auto_wb(使用自带的白平衡算法)。
#https://github.com/letmaik/rawpy import rawpy import imageio import matplotlib.pyplot as plt raw = rawpy.imread('D:/data/0151/0001.ARW') rgb = raw.postprocess(use_camera_wb=True, half_size=True, no_auto_bright=True, output_bps=16) raw.close() print(rgb.dtype, rgb.shape) imageio.imsave('image.tif', rgb) plt.imshow(rgb) plt.pause(1)
谢谢,祝好!
rawpy.imread读取’*.raw’ 失败,显示如下,请问怎么回事?(已经完成pip install rawpy)
发生异常: LibRawFileUnsupportedError
b’Unsupported file format or not RAW file’
这个接口要有metadata吧,你的.raw应该只是裸数据