跳至主要内容

浮水印三兩事

紀錄幾個浮水印製作方式
期待達到:
  1.能嵌入作者資訊、版權聲明或識別資訊,以便主張著作權
  2.不嚴重影響畫面呈現

三種可選方式

關於 License

軟體授權方式資料來源
ExifToolPerl (可選 GPL 或 Artistic License)you can redistribute it and/or modify it under the same terms as Perl itself.
ExifTool GUIGNU General Public License v3GPLv3.0
ImageMagickImageMagick 與 GPL v3 相容。ImageMagick 特殊規格
可自由下載、使用、修改、散布,且可包含在商業產品中。
OpenStegoGNU General Public License 2.0OpenStego GPL v2

建議組合

  • 原始圖:依次執行 EXIF + 半透明浮水印 + 隱藏式浮水印
  • 網站展示圖:縮圖 + 半透明浮水印(另存新檔)
  • 備份:保留原始嵌入版,以便日後權利主張

其他浮水印: AI 生成檢查相關浮水印

Google SynthID:

  • Google 會為自身提供的生成工具所創建的資料內容加上 SynthID,以判別內容是否由 AI 創建。SynthID 除影片圖像外,純文字內容也藉由 詞彙選擇機率分佈 藏 SynthID。

C2PA/Content Credentials

ChatGPT and DALL-E

  • C2PA: Coalition for Content Provenance and Authenticity
  • 可用以證明檔案的來源與修改歷程
  • 將 meta data 藏在檔案 header: 例如 數位簽章 (Digital Signature) 與 雜湊值 (Hash) 藏在 JPEG 的 APP11
  • C2PA 資訊大約造成檔案體積增加 3%: 主要是 完整的數位憑證鏈原始 圖檔的 Thumbnail 及其他少量結構化資料所造成。
  • ref: https://help.openai.com/zh-hant/articles/8912793-c2pa-in-chatgpt-images
  • Tools:
    • 線上檢查 OpenAI 相關工具 或 DALL-E 模型生成所建立的圖片: Content Authenticity
    • CLI 工具: c2patool
    • Python C2PA SDK: pip install c2pa-python
    • Nodejs C2PA Tools: c2pa-js / c2pa-node
    //詳細的 JSON 報告
c2patool image.jpg --detailed

//取出原始圖檔的縮圖
c2patool image.jpg --output-dir ./extracted_info
    import c2pa
# 讀取並驗證檔案
try:
manifest_json = c2pa.verify_from_file_json("example.jpg", "./output_data")
print(manifest_json)
except Exception as e:
print(f"驗證失敗: {e}")