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_algorithm | None | デモザイキングアルゴリズムの指定。デフォルト設定ははAHD。 | |
half_size | bool | False | 画像を縦横半分のサイズで出力します。2×2ブロックを補間せずに1画素にします。(Green チャネルは多分平均) |
four_color_rgb | bool | False | 2つのグリーンチャネルを独立に補間して処理するか否かのフラグ |
dcb_iterations | int | 0 | DCBにおける補正処理する回数。DCBデモザイキングアルゴリズムを使う際に必要 |
dcb_enhance | bool | False | DCB補間における補間された色の強調をするか否か |
fbdd_noise_reduction | FBDD Noise Reduction Mode.Off | デモザイキング前のFBDDノイズ除去処理モード。モードは全部で、Full、Light、Offの3種類存在する。 | |
noise_thr | float | None | ウェーブレットノイズ除去の閾値 |
median_filter_passes | int | 0 | 色のアーティファクトを削減するための、デモザイキング後のメディアンフィルタの回数 |
use_camera_wb | bool | False | カメラで取得されたホワイトバランスの値を用いるか否かのフラグ |
use_auto_wb | bool | False | 自動で計算されたホワイトバランスを使うか否かのフラグ |
user_wb | list | None | 長さ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 | int | 8 | 出力の画素値ビット数。8か16を指定 |
user_flip | int | None | 0=none, 3=180, 5=90CCW, 6=90CW, デフォルトは可能であればRaw画像の向きを使用する。ちなみに90CWは時計回りに90度回転、90CCWは反時計回りに90度回転。 |
user_black | int | None | カスタムブラックレベルの指定(値は一つしか指定できない) |
user_sat | int | None | |
no_auto_scale | bool | False | 画素値のスケーリングをするか否かのフラグ。デフォルトはFalseでスケーリングするの意味 |
no_auto_bright | bool | False | 輝度の自動調整(明るい方向への自動調整)を行うか否かのフラグ。デフォルトはFalseで自動調整が入る。 |
auto_bright_thr | float | None | no_auto_bright=True時、輝度の自動調整を使用する際の、最大値でクリップする画素の比率。デフォルトは0.01(1%)の画素を最大値でクリップさせる。 |
adjust_maximum_thr | float | 0.75 | librawのドキュメントを見よ |
bright | float | 1.0 | 明るさのスケーリング。 |
highlight_mode | Highlight Mode .Clip | ハイライトモード。HighlightModeは、Clip, Ignore, Blend, Reconstruct, ReconstructDefault の5種類存在する。 | |
exp_shift | float | None | 線形な露出のシフト。使用可能レンジは0.25(2段暗くなる)から8.0(3段明るくなる)。(0.25, 0.5, 1, 2, 4, 8でステップを刻むと思われる) |
exp_preserve_highlights | float | 0 | exp_shiftによる露光シフトを行った際に、ハイライトを保存する量を指定する。0.0から1.0(全保存)まで指定。 |
gamma | tuple | None | 2つの値の配列で指定。パワーとスロープ(傾き)を指定する。デフォルトはBT.709にあたる(2.222, 4.5) |
chromatic_aberration | tuple | None | 赤、青のスケーリング値を(赤のスケール、青のスケール)で指定する。デフォルトは補正無しに相当する(1,1)。赤と青の収差をそれぞれの色をスケーリングすることで補正する。 |
bad_pixels_path | str | None | dcrawにより使用できない画素(点灯しっぱなし画素、点灯しない画素)ファイルのデータのパス。それぞれの使用できない画素の値は周囲の画素の平均を使って補正される。他にも補正関数は用意されている。 |
まとめ
訳しただけでは意味が分からない引数だらけである。しかもその訳も怪しいので間違いがある可能性もある。
階調補正系のパラメータはヒストグラムの変化や入出力のグラフを書きながらその変化を追ってみる。幾何補正系は拡大画像を見ながらその動きを確認してみる。
コメント