gray op• Datenarten: image → image
• Aufruf: fullseye.apply(img, "it_bit_mask", a=0.5, b=0.5) (das 2-D-Modell ist ein Bild plus zwei skalare Regler a,b∈[0,1])
• HALCON-Äquivalent: bit_mask (Bedeutung und Parameter sind in der HALCON-Referenz nachzulesen)

*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):
▸ it_bit_mask: 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):
▸ it_bit_mask: 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).*
bit_mask: Logisches UND des 8-Bit-Bildes mit der konstanten Bitmaske round(a*255). b wird ignoriert.
Bringt die Eingabe auf 2-D-float64 in [0,1], quantisiert sie mit round(x*255) zu 8-Bit-Ganzzahlen in 0 bis 255, bildet pixelweise ein bitweises AND mit der konstanten Maske m = round(a*255) & 0xFF (a wird auf [0,1] begrenzt) und kehrt mit /255 nach [0,1] zurück. a=1 ergibt Maske 255 (bis auf die Quantisierung die Identität), a=0 Maske 0 (alles null), a=0.5 ergibt 128 (nur das höchstwertige Bit bleibt = dasselbe wie eine 2-wertige Binarisierung nach >= 0.5 oder nicht). b wird nicht verwendet.
Rückgabewert ist float64 in der Form der Eingabe mit diskreten Werten k/255. a wirkt als Bit- muster und ist daher nicht monoton: 0.5 (=128) behält das höchstwertige Bit, etwa 0.25 (=64) nur das 2. Bit von oben, und jeweils entsteht eine unabhängige gestreifte Graustufenebene (bit plane). Um "die oberen n Bits zu behalten", a = (256 - 2**(8-n))/255 wählen (192/255 ≈ 0.753 für n=2). Farbige (3-D) Eingaben werden per Kanalmittelung auf 2-D reduziert. Bei einer Ausnahme greift fail-soft: eine geclippte Version der Eingabe wird zurückgegeben und im Register (Ledger) vermerkt. Bitverschiebungen: it_bit_lshift / it_bit_rshift; Reduktion der Graustufenzahl:
it_convert_image_type. Für die Analyse von Wasserzeichen und Steganografie oder die Visualisierung von Quantisierungsrauschen (Extraktion niedriger Bitebenen).
• 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.
it_bit_mask 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 · 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.