sk_nlm — 2D smoothing op

• Datenarten: image → image

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

sk_nlm: 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):

▸ sk_nlm: 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):

▸ sk_nlm: andere Eingaben (Doku-Website)

*Keine Farb-Eingabe (H,W,3) gezeigt: dieser Op behandelt den Farbkanal als dritte Raumachse (vermischt Kanäle). Pro Kanal aufrufen.*

Verwendung

Non-local-Means-Rauschunterdrückung. Sucht nicht nur in benachbarten Pixeln, sondern im gesamten Bild nach ähnlichen Patches und mittelt diese -- der Unterschied zu einfacher Glättung besteht darin, dass Rauschen nur in flachen Bereichen entfernt wird, während sich wiederholende Muster und Texturen erhalten bleiben.

HALCON hat keine direkte Entsprechung. Die Implementierung ist restoration.denoise_nl_means(v, patch_size=5, h=0.02+0.2*a) —— a variiert die Grenzdistanz h (je größer, desto weiter der als „ähnlich“ eingestufte Bereich: stärkeres Entrauschen, aber Details gehen leichter verloren) über 0.02–0.22. Die Patchgröße ist auf 5x5 fest. b wird nicht verwendet.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie gallery2d_smoothing_rank

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.

sk_nlm 0.35 0.50

▸ Diese Pipeline laden  ·  Laden & ausführen

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

• find_ops_by_meaning — py -3.11 examples/find_ops_by_meaning.py

• gallery2d_smoothing_rank — py -3.11 examples/gallery2d_smoothing_rank.py

• poc_prnu_camera_fingerprint — py -3.11 examples/poc_prnu_camera_fingerprint.py

Typkompatible Folge-Operatoren (nehmen image als Eingabe)

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

Gleiche Kategorie (smoothing)

gaussian · mean_box · bilateral · unsharp · sk_tv · sk_wavelet · sk_rolling_ball · sk_tv_bregman


*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.