Python 3.x 来自rawpy的原始图像比它们的缩略图更暗

Python 3.x 来自rawpy的原始图像比它们的缩略图更暗,python-3.x,opencv3.0,Python 3.x,Opencv3.0,我想使用Python中的、imageio和opencv库将“.NEF”转换为“.png”。我在rawpy中尝试了各种各样的标志,以产生我刚打开NEF时看到的相同图像,但是所有输出的图像都非常暗。我做错了什么 我目前的代码版本是: import rawpy import imageio from os.path import * import os import cv2 def nef2png(inputNEFPath): parent, filename = split(inputN

我想使用Python中的、imageio和opencv库将“.NEF”转换为“.png”。我在rawpy中尝试了各种各样的标志,以产生我刚打开NEF时看到的相同图像,但是所有输出的图像都非常暗。我做错了什么

我目前的代码版本是:

import rawpy
import imageio
from os.path import *
import os
import cv2


def nef2png(inputNEFPath):
    parent, filename = split(inputNEFPath)
    name, _ = splitext(filename)
    pngName = str(name+'.png')
    tempFileName = str('temp%s.tiff' % (name))
    with rawpy.imread(inputNEFPath) as raw:
        rgb = raw.postprocess(gamma=(2.222, 4.5),
                              no_auto_bright=True,
                              output_bps=16)
    imageio.imsave(join(parent, tempFileName), rgb)
    image = cv2.imread(join(parent, tempFileName), cv2.IMREAD_UNCHANGED)
    cv2.imwrite(join(parent, pngName), image)
    os.remove(join(parent, tempFileName))
我希望得到这个结果:

但我一直在这样做:


对于实际的NEF文件,如果你想搞乱它,我会将它们上传到我的谷歌硬盘:

你没有做错什么,只是缩略图是由尼康专有的内置图像处理管道生成的。用一套完全不同的算法从一个开源工具中获得完全相同的视觉输出是很困难的

通过设置
no\u auto\u bright=False
,可以使图像更亮。如果您对默认的亮度不满意,可以使用
auto\u bright\u thr
参数(请参阅)