rawpyでPython現像その2(postprocess)

python

 rawpyを使って手っ取り早く現像してくれる便利関数、postprocess関数。ただ引数があまりにも多く、難解なのでそれぞれ実際に現像して使い方を確認していきます。

 まずはリファレンスの内容を翻訳するところから始めます。使い方の確認が 済んだものからリンクを張っていきます。(一通り処理のフローをまとめました。こちらから読んでいただいた方が全体像がつかめるかも)

 リファレンスはこちらのもの。足りない部分は本家のlibrawのドキュメント、こちらから。また、rawpyそのもののインストールおよび単純なテストコードはこちら

引数定義

class rawpy.Params(self, demosaic_algorithm=None, half_size=False, four_color_rgb=False, dcb_iterations=0, dcb_enhance=False, fbdd_noise_reduction=FBDDNoiseReductionMode.Off, noise_thr=None, median_filter_passes=0, use_camera_wb=False, use_auto_wb=False, user_wb=None, output_color=ColorSpace.sRGB, output_bps=8, user_flip=None, user_black=None, user_sat=None, no_auto_bright=False, auto_bright_thr=None, adjust_maximum_thr=0.75, bright=1.0, highlight_mode=HighlightMode.Clip, exp_shift=None, exp_preserve_highlights=0.0, no_auto_scale=False, gamma=None, chromatic_aberration=None, bad_pixels_path=None)

名前default説明
demosaic_algorithmNone デモザイキングアルゴリズムの指定。デフォルト設定ははAHD。
half_sizeboolFalse 画像を縦横半分のサイズで出力します。2×2ブロックを補間せずに1画素にします。(Green チャネルは多分平均)
four_color_rgbboolFalse 2つのグリーンチャネルを独立に補間して処理するか否かのフラグ
dcb_iterationsint0 DCBにおける補正処理する回数。DCBデモザイキングアルゴリズムを使う際に必要
dcb_enhanceboolFalse DCB補間における補間された色の強調をするか否か
fbdd_noise_reduction FBDD
Noise
Reduction
Mode.Off
デモザイキング前のFBDDノイズ除去処理モード。モードは全部で、Full、Light、Offの3種類存在する。
noise_thrfloatNone ウェーブレットノイズ除去の閾値
median_filter_passes int0 色のアーティファクトを削減するための、デモザイキング後のメディアンフィルタの回数
use_camera_wbboolFalse カメラで取得されたホワイトバランスの値を用いるか否かのフラグ
use_auto_wbboolFalse 自動で計算されたホワイトバランスを使うか否かのフラグ
user_wblistNone 長さ4のリストを指定。4色それぞれのホワイトバランスの値を指定する。
もしcamera_wbもauto_wbもFalseでuser_wbがNoneの場合には、daylight wbを使用します。もしcamera_wbもauto_wbもTrueならばauto_wbを優先します。
output_color Color
Space
.sRGB
出力の色空間。ColorSpaceはraw, sRGB, Adobe, Wide, ProPhoto, XYZ の6種類が存在する。
output_bps int8 出力の画素値ビット数。8か16を指定
user_flipintNone 0=none, 3=180, 5=90CCW, 6=90CW, デフォルトは可能であればRaw画像の向きを使用する。ちなみに90CWは時計回りに90度回転、90CCWは反時計回りに90度回転。
user_blackintNone カスタムブラックレベルの指定(値は一つしか指定できない)
user_satintNone 彩度飽和させる値の調整
no_auto_scale boolFalse 画素値のスケーリングをするか否かのフラグ。デフォルトはFalseでスケーリングするの意味
no_auto_bright boolFalse 輝度の自動調整(明るい方向への自動調整)を行うか否かのフラグ。デフォルトはFalseで自動調整が入る。
auto_bright_thr floatNone no_auto_bright=True時、輝度の自動調整を使用する際の、最大値でクリップする画素の比率。デフォルトは0.01(1%)の画素を最大値でクリップさせる。
adjust_maximum_thr float0.75 librawのドキュメントを見よ
bright float1.0 明るさのスケーリング。
highlight_modeHighlight
Mode
.Clip
ハイライトモード。HighlightModeは、Clip, Ignore, Blend, Reconstruct, ReconstructDefault の5種類存在する。
exp_shiftfloatNone 線形な露出のシフト。使用可能レンジは0.25(2段暗くなる)から8.0(3段明るくなる)。(0.25, 0.5, 1, 2, 4, 8でステップを刻むと思われる)
exp_preserve_highlights float0 exp_shiftによる露光シフトを行った際に、ハイライトを保存する量を指定する。0.0から1.0(全保存)まで指定。
gammatuple None 2つの値の配列で指定。パワーとスロープ(傾き)を指定する。デフォルトはBT.709にあたる(2.222, 4.5)
chromatic_aberrationtupleNone 赤、青のスケーリング値を(赤のスケール、青のスケール)で指定する。デフォルトは補正無しに相当する(1,1)。赤と青の収差をそれぞれの色をスケーリングすることで補正する。
bad_pixels_pathstrNone dcrawにより使用できない画素(点灯しっぱなし画素、点灯しない画素)ファイルのデータのパス。それぞれの使用できない画素の値は周囲の画素の平均を使って補正される。他にも補正関数は用意されている。

まとめ

 訳しただけでは意味が分からない引数だらけである。しかもその訳も怪しいので間違いがある可能性もある。

 階調補正系のパラメータはヒストグラムの変化や入出力のグラフを書きながらその変化を追ってみる。幾何補正系は拡大画像を見ながらその動きを確認してみる。

python現像
スポンサーリンク
キャンプ工学

コメント

タイトルとURLをコピーしました