matching oprgbimage × rgbimage → rgbimageimport fullseye as fs; fs.ledger.color_transfer(src, ref, method='reinhard', space='lab') (実装を直接呼ぶなら import colortransport; colortransport.color_transfer(src, ref, method='reinhard', space='lab')、台帳から引くなら opscolortransport.get("color_transfer"))src の色味を ref に寄せる。
src, ref : array_like
(..., 3) の sRGB([0, 1] の float、または整数 dtype)。
大きさは違ってよい(統計だけを使う)。
method : {“reinhard”, “gaussian”, “histogram”}
* "reinhard" —— 各チャネルの平均と標準偏差だけ合わせる
(Reinhard, Ashikhmin, Gooch & Shirley, IEEE CG&A 21(5), 2001)。
各チャネルが単峰の正規分布という仮定が効いている。
前景と背景がはっきり分かれた 二峰の絵では、平均と分散は合うのに
どちらの峰にも当たらない色になる(例外は出ない)。
* "gaussian" —— 共分散ごと運ぶ Monge 写像。相関が保たれる。
* "histogram" —— チャネルごとに厳密なヒストグラム整合。
周辺分布は完全に一致するが、チャネル間の相関は壊れる。
space : {“lab”, “rgb”}
統計を取る空間。既定の lab は :mod:imgmetrics の実体を使う。
ndarray
src と同じ形の sRGB [0, 1](色域外は切り詰められる)。
py -3.11 examples/color_transport.pyrgbimage を入力に取れる)—
matching)histogram_match · gaussian_transport_map
Provenance: colortransport.py — COLORTRANSPORT operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.