watermark op• Datenarten: image2d → phash
• Aufruf: import fullseye as fs; fs.ledger.watermark_extract(image, n_bits: 'int', wavelet: 'str' = 'haar', level: 'int' = 1) -> 'np.ndarray' (die Implementierung direkt: import imgforensics; imgforensics.watermark_extract(image, n_bits: 'int', wavelet: 'str' = 'haar', level: 'int' = 1) -> 'np.ndarray'; aus dem Register: opsimgforensics.get("watermark_extract"))
Blinde Extraktion des Wasserzeichens. Liefert ein 1-D-Bool (das phash-Vokabular).
Liest mit derselben DWT / Blockaufteilung nur aus, welcher Koeffizient jedes Mittelband-Paares größer ist. Weder Originalbild noch Schlüssel sind nötig —— dies ist ein Integritätsmerkmal, keine Geheimhaltung; da es keinen Schlüssel gibt, kann jeder es löschen und jeder es schreiben. Für Eigentumsnachweise ist es nicht verwendbar.
Da die Rückgabe zum phash-Vokabular gehört, lässt sich die Übereinstimmung mit der eingebetteten Bitfolge direkt mit hash_distance zählen (BER = hash_distance(sent, got) / n_bits). Deshalb sind die Vokabulare aufeinander abgestimmt.
PyWavelets erforderlich (ImportError).
• 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.
• image_forensics_audit — py -3.11 examples/image_forensics_audit.py
phash als Eingabe)hash_distance · watermark_embed · watermark_capacity
watermark)watermark_embed · watermark_capacity
*Provenance: imgforensics.py — IMGFORENSICS 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.