watermark_capacity — IMGFORENSICS watermark op

• Data kinds: image2d × phash → table

• Call: 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' (implementation को सीधे call करना हो तो 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', registry से लेना हो तो opsimgforensics.get("watermark_capacity"))

उपयोग

embedding की शक्ति और PSNR / BER के trade-off को sweep करके लौटाता है। table।

हर strength के लिए यह वास्तव में embed → extract चलाता है, और लौटाता है

psnr_db मूल और watermarked image के बीच PSNR (मान range [0, 1] आधार, MAX=1)

ber extraction की bit error rate (hash_distance से गिनी गई)

clipped watermarked image के pixels का वह अंश जो [0, 1] से बाहर जाता है।

save करते समय overflow हमेशा खो जाता है, इसलिए केवल PSNR देखकर strength बढ़ाने से

"वह गिरावट जिसे आपने मापा नहीं" बढ़ती है

यदि jpeg_quality में कोई quality दी जाए, तो ber_jpeg, जो watermarked image को असली JPEG से गुज़ारने के बाद निकाला जाता है, भी शामिल होता है (Pillow आवश्यक। छोड़ने पर वह column पूरी तरह अनुपस्थित रहता है —— यह default रूप से नहीं चलता, ताकि लौटाए गए columns environment के साथ न बदलें)।

आउटपुट {"capacity_bits": int, "n_bits": int, "rows": [...], "caveats": [...]} है।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• image_forensics_audit — py -3.11 examples/image_forensics_audit.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

evidence_quantile

इसी category के (watermark)

watermark_embed · watermark_extract


*Provenance: imgforensics.py — IMGFORENSICS operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.