watermark op• Datenarten: image2d × phash → table
• Aufruf: import fullseye as fs; fs.ledger.watermark_capacity(image, bits, strengths=(0.02, 0.05, 0.1, 0.2, 0.4), wavelet: 'str' = 'haar', level: 'int' = 1, jpeg_quality=None) -> 'dict' (die Implementierung direkt: import imgforensics; imgforensics.watermark_capacity(image, bits, strengths=(0.02, 0.05, 0.1, 0.2, 0.4), wavelet: 'str' = 'haar', level: 'int' = 1, jpeg_quality=None) -> 'dict'; aus dem Register: opsimgforensics.get("watermark_capacity"))
• GPU: nein (nur CPU-Referenzimplementierung)
Durchläuft den Kompromiss zwischen Einbettungsstärke und PSNR / BER. table.
Führen Sie tatsächlich „embed → extract“ für jede „Stärke“ aus.
„psnr_db“ PSNR des Originalbilds und des mit Wasserzeichen versehenen Bilds (Bereich [0, 1] Standard, „MAX=1“) Bitfehlerrate der „ber“-Extraktion (gezählt von hash_distance) „abgeschnitten“ Prozentsatz der Pixel im mit Wasserzeichen versehenen Bild, die außerhalb von [0, 1] liegen.
Der Überhang geht beim Speichern immer verloren, daher kann die Stärke nur anhand der PSNR ermittelt werden.
Wenn Sie ihn erhöhen, wird die „unermessliche Verschlechterung“ zunehmen.
Wenn Sie die Qualität an „jpeg_quality“ übergeben, wird das mit Wasserzeichen versehene Bild durch ein echtes JPEG geleitet und dann Das extrahierte „ber_jpeg“ ist ebenfalls enthalten (Pillow ist erforderlich. Wenn es weggelassen wird, wird nicht die gesamte Spalte einbezogen. (Es wird nicht standardmäßig ausgeführt, um sicherzustellen, dass sich die zurückgegebenen Spalten nicht je nach Umgebung ändern.)
Gibt „{"capacity_bits": int, "n_bits": int, "rows": [...], "caveats": [...], "ll_shape": tuple} zurück.
• 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
table als Eingabe)watermark)watermark_embed · watermark_extract
*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.