histogram_match — COLORTRANSPORT matching op

데이터 종류: image2d × image2dimage2d

호출: import colortransport; colortransport.histogram_match(src, ref, bins=None, ties='average')(또는 opscolortransport.get("histogram_match"))

사용법

`src 의 값 분포를 ref` 에 맞춥니다(1 차원 엄밀 최적수송).

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

順位を保ったまま参照の分位点に置き換える。`bins` を指定すると、その段数の

累積分布で近似する ―― 速いが厳密ではなくなるので、既定は `None`

(厳密)にしてある。

同じ値の画素をどう扱うかで、絵の意味が変わる。 単調写像なら「等しい入力

は等しい出力に写る」はずだが、素朴に順位で置き換えると同値が引き裂かれる

実測(値 2 が 4 画素ある整数画像):出力は ``0.2222 / 0.3333 / 0.4444 /

0.5556`` の 4 つに分かれた。つまり**平坦だった領域に、元の絵に無い濃淡が

生える**。整数画像は同値だらけなので、これは例外ではなく常態。

• `ties="average"`(既定)—— 同値の画素には、そこに割り当たった参照値の

平均を与える。等しい入力は等しい出力に写り、単調性が保たれる。

その代わり出力の分布は参照と厳密には一致しなくなる(同値の塊のぶん、

分布が階段状に丸まる)。連続な入力(同値が無い)なら厳密一致のまま。

• `ties="break"` —— 順位そのままで引き裂く。**出力の分布は参照と厳密に

一致する**が、平坦部に偽の濃淡が出る。分布を厳密に合わせることが目的で、

絵として見ないと分かっているときだけ。

どちらを選んでも失うものがある(分布の厳密さ か 平坦部の平坦さ)ので、

黙って片方に決めず引数にした

多チャネルの絵にそのまま掛けるとチャネル間の相関を壊す

各軸の周辺分布は合うのに、色の組合せが元に無かったものになりうる。

相関ごと運びたいときは :func:color_transfer の `method="gaussian"`。

배경 지식 가이드(이 연산자 앞에 있는 물리·규약)

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

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

color_transportpy -3.11 examples/color_transport.py

타입이 이어지는 다음 연산자(image2d 를 입력으로 받는 것)

poisson_blend

같은 카테고리(matching)

color_transfer · gaussian_transport_map


*Provenance: colortransport.py — COLORTRANSPORT 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.