python - 原始 : How to postprocess raw images WITHOUT adulterating pixel data?

标签 python image-processing

我需要将原始 NEF 图像转换为 numpy 数组以进行定量分析。我目前正在使用 rawpy 来执行此操作,但我找不到后处理的组合 parameters使像素数据保持不变。 (我将是第一个承认我并不完全理解原始文件如何工作的人......)

这是我现在拥有的:

rawArray = raw.postprocess(demosaic_algorithm=rawpy.DemosaicAlgorithm.AHD,
                                   half_size=False,
                                   four_color_rgb=False,use_camera_wb=False,
                                   use_auto_wb=False,user_wb=(1,1,1,1),
                                   output_color=rawpy.ColorSpace.raw,
                                   output_bps=16,user_flip=None,
                                   user_black=None,user_sat=None,
                                   no_auto_bright=False,auto_bright_thr=0.01,
                                   adjust_maximum_thr=0,bright=100.0,
                                   highlight_mode=rawpy.HighlightMode.Ignore,
                                   exp_shift=None,exp_preserve_highlights=0.0,
                                   no_auto_scale=True,gamma=(2.222, 4.5),
                                   chromatic_aberration=None,
                                   bad_pixels_path=None)

最佳答案

后处理,也就是这里的去马赛克,总是会改变原来的像素值。通常你想要的是得到一个线性后处理的图像,这样光子的数量大致与像素值成线性关系。你可以这样做:

rgb = raw.postprocess(gamma=(1,1), no_auto_bright=True, output_bps=16)

在大多数情况下,您无法获得校准后的图像,您无法在其中直接推断出每个像素处撞击传感器的光子数量。另见 https://www.dpreview.com/forums/post/56232710 .

请注意,您还可以通过 raw.raw_image(另见 Bayer matrix)访问原始图像数据,它尽可能接近传感器数据——没有插值或相机曲线等在这​​里应用,但我会说,从科学上讲,你得到的结果不会比使用如上所述的线性后处理图像得到的结果多得多。

关于python - 原始 : How to postprocess raw images WITHOUT adulterating pixel data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49459630/

相关文章:

python - 如何使用paramiko执行远程命令

Python - 将一个函数传递给另一个函数

python - PyQt 将 PuTTY/KiTTY 嵌入到应用程序中 - 无法删除边框

python - 值错误: setting an array element with a sequence in Python

python - User 类应该是不可变的吗?

python - 优化计算两幅图像之间的欧式距离的性能

python - scipy.nd图像测量.标签算法理解

java - 按照使用 jFeatureLib 获取 SIFT 特征的过程进行操作,但 .csv 为空

php - 调用未定义函数 imagerotate()

c# - 单击图像的一部分