matching op• 資料種類:image2d × image2d → image2d
• 呼叫:import colortransport; colortransport.histogram_match(src, ref, bins=None, ties='average')(或 opscolortransport.get("histogram_match"))
把 `src 的取值分布匹配到 ref`(一維精確最佳輸運)。
> 以下的詳細說明為原文 —— 摘要與標題已翻譯。
順位を保ったまま参照の分位点に置き換える。`bins` を指定すると、その段数の
累積分布で近似する ―― 速いが厳密ではなくなるので、既定は `None`
(厳密)にしてある。
同じ値の画素をどう扱うかで、絵の意味が変わる。 単調写像なら「等しい入力
は等しい出力に写る」はずだが、素朴に順位で置き換えると同値が引き裂かれる。
実測(値 2 が 4 画素ある整数画像):出力は ``0.2222 / 0.3333 / 0.4444 /
0.5556`` の 4 つに分かれた。つまり**平坦だった領域に、元の絵に無い濃淡が
生える**。整数画像は同値だらけなので、これは例外ではなく常態。
• `ties="average"`(既定)—— 同値の画素には、そこに割り当たった参照値の
平均を与える。等しい入力は等しい出力に写り、単調性が保たれる。
その代わり出力の分布は参照と厳密には一致しなくなる(同値の塊のぶん、
分布が階段状に丸まる)。連続な入力(同値が無い)なら厳密一致のまま。
• `ties="break"` —— 順位そのままで引き裂く。**出力の分布は参照と厳密に
一致する**が、平坦部に偽の濃淡が出る。分布を厳密に合わせることが目的で、
絵として見ないと分かっているときだけ。
どちらを選んでも失うものがある(分布の厳密さ か 平坦部の平坦さ)ので、
黙って片方に決めず引数にした。
多チャネルの絵にそのまま掛けるとチャネル間の相関を壊す。
各軸の周辺分布は合うのに、色の組合せが元に無かったものになりうる。
相関ごと運びたいときは :func:color_transfer の `method="gaussian"`。
• colorimetry — 測色と分光の知識 — 色は「分光 × 光源 × 観測者」でしか決まらない
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者・年份)與用途見上面的族使用指南。
• color_transport — py -3.11 examples/color_transport.py
image2d 作為輸入)matching)color_transfer · gaussian_transport_map
*Provenance: colortransport.py — COLORTRANSPORT 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.