我正在尝试在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)
答案 0 :(得分:0)
OpenCV(cv2
)期望一个不同的频道顺序(BGR),这就是为什么那个中的颜色与其他颜色相比较的原因。
一般来说,没有一种方法可以对RAW相机图像进行后处理,结果通常取决于个人偏好,例如:白平衡,亮度调整等。您所称的"原始"在顶部中间列中只是另一个后处理变体,可能是由一些尼康驱动程序创建的,它更了解RAW图像文件中的某些元数据,并试图给你一些你期望的东西"。 rawpy
(或者更确切地说,基础libraw
库)不会复制制造商后期处理的确切行为,因为这或多或少是商业秘密。
对于天文摄影而言,无论如何你都可能对灰度图像有好处,但这实际上取决于你的用例以及你想要实现的目标。