gray op• Datenarten: image → image
• Aufruf: fullseye.apply(img, "companding_mu_law", 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):
▸ companding_mu_law: Regler a durchfahren (Doku-Website)
Regler b durchfahren (0,1 / 0,5 / 0,9, der andere Regler auf Standard):
▸ companding_mu_law: Regler b durchfahren (Doku-Website)
Auf anderen Bildern (synthetische Szene / Foto / Münzen. Obere Reihe: Eingaben, untere Reihe: deren Ausgaben. Regler auf Standard):
▸ companding_mu_law: 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).*
μ-Law-Kompandierung (compand = compress + expand). a ist μ, b die Bitzahl.
Es dehnt die Schatten mit F(x) = ln(1 + mu*x) / ln(1 + mu), quantisiert dann und kehrt über die Umkehrtransformation zurück. Dadurch werden die Schritte in den Schatten fein und in den Lichtern grob - da Auge und Aufnahmesystem auf Unterschiede in den Schatten empfindlich reagieren, ist die sichtbare Verschlechterung bei gleicher Bitzahl geringer. Es ist dasselbe Prinzip wie bei der Telefon-Sprachcodierung (G.711); bei Bildern entspricht es einer logarithmischen Zuteilung der Graustufen.
a ergibt mu = 1 + 254*a (1-255; bei a=0 praktisch unverändert), b ist die Bitzahl 1-8.
Unterschied zu Lloyd–Max: jenes Op passt sich der Verteilung dieses Bildes an, daher ändert sich die Codetabelle von Bild zu Bild. Dieses Op verwendet eine feste Kurve, daher lassen sich die Werte unverändert mit anderen Bildern und anderen Geräten vergleichen. Trifft die Annahme zu, dass die Verteilung logarithmisch schief ist, ist die Leistung ähnlich; trifft sie nicht zu, ist Lloyd–Max besser.
Anwendungsbedingungen (mit Messwerten): wenn die Eingabe in [0,1] liegt und sich die Pixel nahe 0 ballen. Verglichen mit gleichmäßiger Quantisierung an synthetischen Bildern mit Exponentialverteilung sinkt der quadratische Fehler bei Ballung in den Schatten auf das 0.57-fache (3 bit) bzw. 0.51-fache (5 bit). Bei Ballung in den Lichtern verschlechtert er sich dagegen auf das 7.7-fache (3 bit) bzw. 18-fache (5 bit) - ein Prüfbild mit dunklen Kratzern auf weißem Grund ist genau dieser Fall, daher in dieser Situation zuerst durch 1 - x schicken und dann anwenden. Bei sehr wenigen Stufen (2 bit) ist die Kurve zu stark und verliert selbst bei schiefer Verteilung gegen gleichmäßige Quantisierung (gemessen 1.17-fach).
• 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.
companding_mu_law 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 · quantize_lloyd_max · quantization_error · dither_ordered · dither_floyd_steinberg · 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.