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

*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):
▸ quantize_lloyd_max: Regler a durchfahren (Doku-Website)
Regler b durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ quantize_lloyd_max: Regler b durchfahren (Doku-Website)
Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):
▸ quantize_lloyd_max: 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).*
An die Verteilung der Eingabe angepasste optimale Quantisierung (Lloyd–Max, 1-D-k-Means).
a ist die Bitzahl der Stufenanzahl, 1-8; b ist die Anzahl der Iterationen (1-20). Während die gleichmäßige Quantisierung die Schritte äquidistant setzt, setzt dieses Op die Schritte dort feiner, wo sich die Pixelwerte drängen. Jeder Repräsentant ist der Schwerpunkt seines Intervalls, jede Intervallgrenze der Mittelpunkt benachbarter Repräsentanten - diese 2 abwechselnd anzuwenden ist die Lloyd-Iteration, und der quadratische Fehler sinkt monoton (er steigt nie).
Bedingung, unter der es sich von gleichmäßiger Quantisierung unterscheidet: wenn das Eingabe-Histogramm schief ist. Bei gleichverteilter Eingabe stimmt es mit der gleichmäßigen Quantisierung überein, daher ist das Ausbleiben eines Unterschieds selbst eine Prüfung der Korrektheit. Bei Bildern, deren Pixel sich in den Schatten ballen (Prüfbilder mit vielen Schatten, Fluoreszenzbilder), sinkt der Fehler bei gleicher Bitzahl.
Anwendungsbedingungen: (1) Die Ausgabe ist eine von der Eingabe abhängige Menge von Repräsentanten, daher unterscheidet sich die Codetabelle von Bild zu Bild — Pixelwerte lassen sich nicht direkt mit einem anderen Bild vergleichen (dafür gleichmäßige Quantisierung). (2) Leere Intervalle bleiben, wie sie sind (ihre Repräsentanten bewegen sich nicht). (3) Die Iteration kann in ein lokales Optimum fallen, doch in 1-D ist sie praktisch stabil, wenn man die Startwerte auf Quantile legt.
• Leitfaden zur Familie gallery2d_gray_arith
• 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.
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.
quantize_lloyd_max 0.50 0.50
▸ Diese Pipeline laden · Laden & ausführen
• gallery2d_gray_arith — py -3.11 examples/gallery2d_gray_arith.py
image als Eingabe)identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter
gray)gamma · quantize_uniform · quantization_error · dither_ordered · dither_floyd_steinberg · companding_mu_law · banding_map · invert
*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.