簡體   English   中英

RawPy 和 imageio 的組合導致紅色圖像

[英]Combination of RawPy and imageio result in red image

我想使用 .dng 文件進行一些圖像處理。 我正在使用 rawpy 將文件轉換為 numpy 數組。 然后 imageio 保存圖像。 這是一個非常簡單的代碼,在 rawpy 網頁上給出。

resulting.png 圖像與我預期的不一樣。 結果非常紅,而原始圖像不是。 它就像原始圖像上的紅色疊加層。

我使用的代碼是:

import rawpy
import imageio

path = r'img\CGraw.dng'
with rawpy.imread(path) as raw:
    rgb = raw.postprocess()
    
imageio.imsave(r"img\spyraw.png",rgb)

原始dng圖片: https://drive.google.com/file/d/1Ip4U7KvI4-Lit4u7AuaHfoHIkXvGNRFk/view?usp=sharing

生成的 png 圖像: https://drive.google.com/file/d/1CyrqJS2Osj3u-jEzLSxSy5eKMUP4csAV/view?usp=sharing

只需添加參數use_camera_wb=True

根據文檔

use_camera_wb (bool) – 是否使用拍攝時的白平衡值

這意味着使用相機在拍攝過程中自動找到的白平衡系數(這些值存儲為 DNG 文件的 Exif 數據)。

我不知道為什么默認是use_camera_wb=False (這可能是因為用 Python 包裝LibRaw的工作不力)。
在我看來,默認值應該是use_camera_wb=Trueuse_auto_wb=False

我們也可以 select output 色彩空間: output_color=rawpy.ColorSpace.sRGB

colors 看起來不錯,但可能還有其他我不知道的陷阱......(我對rawpyLibRaw沒有足夠的經驗)。


import rawpy
import imageio

path = r'img\CGraw.dng'

with rawpy.imread(path) as raw:
    rgb = raw.postprocess(use_camera_wb=True, use_auto_wb=False, output_color=rawpy.ColorSpace.sRGB)
    
imageio.imsave(r"img\spyraw.png",rgb)

Output(縮小):
在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM