Python rawpy图像保存问题

时间:2018-02-21 11:11:26

标签: python rawimage

我正在尝试在python中合并Astrophotography图像。目前我的问题是,当导出具有不同库的图像时,图像具有与原始图像不同的色调。导入的图像采用.nef格式。

代码:

import matplotlib.pyplot as plt
import numpy as np
import cv2
from scipy import misc
import rawpy
from PIL import Image
import imageio

raw=rawpy.imread("DSC_5817.NEF")

#raw=rawpy.imread("images/1/slika1.cr2")
rgb=raw.postprocess(no_auto_bright=True)

outfn=".tif"

img=Image.fromarray(rgb)



img.convert("RGB")


img.save("probaPIL"+outfn)
#
cv2.imwrite("progaCV2"+outfn, rgb)

misc.imsave("probaSCipi"+outfn, rgb)
#
imageio.imsave("probaIMAGEIO"+outfn, rgb)

plt.imsave("probaPLT.tif",rgb )

slika=plt.imread("probaPIL.tif")

Screnshot of the output (top middle image is original nef file)

1 个答案:

答案 0 :(得分:0)

OpenCV(cv2)期望一个不同的频道顺序(BGR),这就是为什么那个中的颜色与其他颜色相比较的原因。

一般来说,没有一种方法可以对RAW相机图像进行后处理,结果通常取决于个人偏好,例如:白平衡,亮度调整等。您所称的"原始"在顶部中间列中只是另一个后处理变体,可能是由一些尼康驱动程序创建的,它更了解RAW图像文件中的某些元数据,并试图给你一些你期望的东西"。 rawpy(或者更确切地说,基础libraw库)不会复制制造商后期处理的确切行为,因为这或多或少是商业秘密。

对于天文摄影而言,无论如何你都可能对灰度图像有好处,但这实际上取决于你的用例以及你想要实现的目标。