简记下使用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)

谢谢,祝好!

发表评论

邮箱地址不会被公开。 必填项已用*标注