我试图用Python获取16bit'nef'图像的信息。
我一直在使用rawpy
打开文件并使用图像评估器获得线性输出。但现在我只想看看绿色通道。
path = 'image.nef'
with rawpy.imread(path) as raw:
rgb_linear = raw.postprocess(gamma=(1,1),no_auto_bright=True, output_bps=16)
rgb= raw.postprocess(no_auto_bright=True, output_bps=16)
现在我不知道如何从这里获得RGB值。
您可以将红色,绿色和蓝色通道分开并保存,如下所示:
#!/usr/bin/env python3
import rawpy
import imageio
with rawpy.imread('raw.nef') as raw:
rgb = raw.postprocess(gamma=(1,1), no_auto_bright=True, output_bps=16)
# Extract Red, Green and Blue channels and save as separate files
R = rgb[:,:,0]
G = rgb[:,:,1]
B = rgb[:,:,2]
imageio.imsave('R.tif', R)
imageio.imsave('G.tif', G)
imageio.imsave('B.tif', B)