xkor_clahe — 2D gray op

• Datenarten: image → image

• Aufruf: fullseye.apply(img, "xkor_clahe", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])

• GPU: nein (nur CPU-Referenzimplementierung)

xkor_clahe: input → output

*Die Abbildung ist die tatsächliche Ausgabe auf einer synthetischen 128×128-Eingabe. Links Eingabe, rechts Ausgabe. Punktwolken als Draufsicht-Streudiagramm (Helligkeit = z), 1-D-Reihen als Linie, Volumen als Maximum-Projektion entlang z, Videos als mittleres Bild, komplexe Bilder als Betrag; Rückgabewerte, die kein Bild ergeben, werden als Werte gezeigt.*

Regler a durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):

▸ xkor_clahe: Regler a durchfahren (Doku-Website)

*Regler b ändert die Ausgabe nicht (gemessen: identisch bei 0,1 / 0,5 / 0,9).*

Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):

▸ xkor_clahe: andere Eingaben (Doku-Website)

*Die 4. Spalte ist eine Farb-Eingabe (H,W,3). Dieser Op verarbeitet Farbe, ohne Kanäle zu vermischen (er faltet den Farbkanal nicht als dritte Raumachse).*

Verwendung

CLAHE (kontrastbegrenzte adaptive Histogrammausgleichung). Ruft kornia.enhance.equalize_clahe auf.

a variiert das Clip-Limit (1.0 + 4.0 * a, Bereich 1.0-5.0). Je größer der Wert, desto stärker wird der Kontrast angehoben, desto leichter wird aber auch Rauschen betont. b wird nicht verwendet.

Benötigt kornia 0.9 oder neuer. equalize_clahe in 0.8 und früher weicht von OpenCVs CLAHE im Mittel um 0.04-0.17 und maximal um 0.46 ab (0.9 hat die Histogramm-Bins, die Verteilung des abgeschnittenen Überschusses, das Runden der LUT und die Kachelinterpolation korrigiert). Damit sich die Werte nicht stillschweigend mit der Version ändern, lehnt der Op unter 0.9 mit Begründung ab. Das Kachelraster wird ausdrücklich als 8x8 übergeben.

Regler (gemessen): a von 0 bis 1 zu variieren ändert die Ausgabe nicht (an fünf verschiedenen Eingaben gemessen).

Andere Implementierungen derselben Operation (gemessen; docs/IMPL_DIFFERENTIAL.md): Bei gleichen Eingaben und gleichen a, b beträgt der Unterschied im Inneren (relativ zum Wertebereich; unter 5e-3 gilt als gleich) clahe 0.61, cv_clahe 0.087. Warum die abweichenden sich unterscheiden (Knopf-Abbildung, Fenster, Rand, Quantisierung, andere Definition), steht in der Tabelle.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie gallery2d_gray_arith

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

In Studio ausprobieren

Das Programm unten ist nachweislich lauffähig (gleiche Eingabe wie die Abbildung). In der Studio-Hilfe wird dieser Block zu Schaltflächen, die es sofort laden und ausführen.

xkor_clahe 0.50 0.50

▸ Diese Pipeline laden  ·  Laden & ausführen

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• gallery2d_gray_arith — py -3.11 examples/gallery2d_gray_arith.py

Typkompatible Folge-Operatoren (nehmen image als Eingabe)

identity · gaussian · mean_box · mean_box_wh · bilateral · kuwahara · unsharp · median

Gleiche Kategorie (gray)

gamma · quantize_uniform · quantize_lloyd_max · quantization_error · dither_ordered · dither_floyd_steinberg · companding_mu_law · banding_map


*Provenance: ops.py — 2D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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