jpeg_ghost_map — IMGFORENSICS compression op

• Datenarten: image2d → images

• Aufruf: import fullseye as fs; fs.ledger.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list' (die Implementierung direkt: import imgforensics; imgforensics.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list'; aus dem Register: opsimgforensics.get("jpeg_ghost_map"))

Verwendung

JPEG-Geister (Farid 2009). Eine Folge von Rekompressions-Residuenkarten über einen Qualitätsdurchlauf. images.

Wurde ein Bereich einmal mit Qualität q0 komprimiert, wird bei Rekompression mit q = q0 die Differenz in diesem Bereich zu einem Tal. Hat das ganze Bild dasselbe q0, erscheint das Tal überall; ist aber ein mit anderer Qualität komprimierter Teil eingefügt, bildet nur dieser Bereich bei einem anderen q ein Tal.

Die Rückgabe sind len(qualities) Karten der Form (H, W) (quadrierte Differenzen, mit einem block-Quadrat-Boxmittel geglättet). Die Talposition pro Pixel liest jpeg_ghost_quality.

Pillow erforderlich (ImportError). Gleicher Grund wie bei error_level_map.

Gemessen (tests/test_imgforensics.py::test_jpeg_ghost_finds_the_pasted_quality, 192x192 mit einem 64x64-Stück, mit Qualität 60 komprimiert, auf einem Hintergrund der Qualität 92, Sweep 40..95 step 5):

Das Tal des eingefügten Bereichs liegt bei Qualität 60 (Ground Truth 60, Fehler 0), das des Hintergrunds bei Qualität 95. Der Hintergrund ergibt 95 statt 92, weil der Sweep in 5er-Schritten läuft und 92 nicht enthält; Täler erscheinen nur unter den gesweepten Qualitäten —— Qualitäten feiner als die Schrittweite sind nicht lesbar.

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_audit — py -3.11 examples/image_forensics_audit.py

• poc_forensics_roc — py -3.11 examples/poc_forensics_roc.py

Typkompatible Folge-Operatoren (nehmen images als Eingabe)

sensor_fingerprint · jpeg_ghost_quality

Gleiche Kategorie (compression)

error_level_map · jpeg_quality_estimate · jpeg_ghost_quality


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