简记下使用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应该只是裸数据