color_transfer — COLORTRANSPORT matching op

• データ種: rgbimage × rgbimage → rgbimage

• 呼び出し: import 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 に寄せる。

Parameters

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 は imgmetrics の実体を使う。

Returns

ndarray

src と同じ形の sRGB [0, 1](色域外は切り詰められる)。

背景知識ガイド(この op の手前にある物理・規約)

• colorimetry — 測色と分光の知識 — 色は「分光 × 光源 × 観測者」でしか決まらない

参考(サンプルデータ・文献)

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

実行できる例(この op を実際に呼ぶ検証済みサンプル)

• color_transport — py -3.11 examples/color_transport.py

型が繋がる次の op(rgbimage を入力に取れる)

—

同カテゴリ(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.