watermark_capacity — IMGFORENSICS watermark op

Datenarten: image2d × phashtable

Aufruf: 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' (oder opsimgforensics.get("watermark_capacity"))

Verwendung

Durchläuft den Kompromiss zwischen Einbettungsstärke und PSNR / BER. `table`.

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

各 `strength` について埋め込み → 抽出を実際に走らせ、

`psnr_db 原画像と透かし入り画像の PSNR(値域 [0, 1] 基準、MAX=1`)

`ber 抽出のビット誤り率(:func:hash_distance` で数える)

`clipped` 透かし入り画像が [0, 1] からはみ出した画素の割合。

はみ出しは保存時に必ず失われるので、PSNR だけ見て強度を

上げると「測っていない劣化」が増える

`jpeg_quality` に品質を渡すと、透かし入り画像を 本物の JPEG に通してから

抽出した `ber_jpeg` も入る(Pillow 必須。省略時は列ごと入らない ——

環境によって返る列が変わらないようにするため、既定では走らせない)。

返りは `{"capacity_bits": int, "n_bits": int, "rows": [...], "caveats": [...]}`。

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.

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

image_forensics_auditpy -3.11 examples/image_forensics_audit.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

evidence_quantile

Gleiche Kategorie (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.