jpeg_ghost_map — IMGFORENSICS compression op

• 資料種類:image2d → images

• 呼叫: import fullseye as fs; fs.ledger.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list'(要直接呼叫實作,import imgforensics; imgforensics.jpeg_ghost_map(image, qualities=None, block: 'int' = 16) -> 'list';從台帳取用則 opsimgforensics.get("jpeg_ghost_map"))

用法

JPEG 幽靈(Farid 2009)。掃描品質得到的重壓縮殘差圖序列。images。

若某區域曾以品質 q0 壓縮過一次,則以 q = q0 再壓縮時,該區域的差分會成為谷。整張影像都是同一 q0 時谷會出現在全圖,但若貼入了以別的品質壓縮的部分,只有該區域會在別的 q 處成為谷。

回傳 len(qualities) 張 (H, W) 的圖(以 block 見方的盒式平均平滑後的

平方差)。逐像素讀取谷的位置的是 jpeg_ghost_quality。

必須有 Pillow(ImportError)。理由與 error_level_map 相同。

實測(tests/test_imgforensics.py::test_jpeg_ghost_finds_the_pasted_quality,在品質 92 的背景上貼入以品質 60 壓縮的 64x64,共 192x192,掃掠 40..95 step 5):貼入區域的谷在品質 60(真值 60,誤差 0),背景的谷在品質 95。背景是 95 而不是 92,是因為掃掠以 5 為步長,不包含 92,谷只會出現在掃掠過的品質之中 —— 比步長更細的品質無法讀出。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• image_forensics_audit — py -3.11 examples/image_forensics_audit.py

• poc_forensics_roc — py -3.11 examples/poc_forensics_roc.py

型別可銜接的下一個運算子(可接受 images 作為輸入)

sensor_fingerprint · jpeg_ghost_quality

同類別(compression)

error_level_map · jpeg_quality_estimate · jpeg_ghost_quality


*Provenance: imgforensics.py — IMGFORENSICS 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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