Skip to content

Latest commit

 

History

History
462 lines (337 loc) · 9.29 KB

File metadata and controls

462 lines (337 loc) · 9.29 KB

🚀 快速启动指南

Quick Start Guide

30秒快速开始

# 1. 进入项目目录
cd s:\新建文件夹\jiuxingHttp

# 2. 验证系统
python verify_installation.py

# 3. 运行演示
python quick_start.py

# 4. 保护你的图片
python protect_image.py protect --image your_photo.jpg --logo your_logo.png

📖 完整安装步骤

前置要求

  • Windows/Linux/macOS 操作系统
  • Python 3.8 或更高版本
  • 至少100MB硬盘空间

步骤1:验证Python安装

python --version

预期输出:Python 3.8.x 或更高

步骤2:安装依赖库

# 进入项目目录
cd s:\新建文件夹\jiuxingHttp

# 方法A:直接安装(推荐)
pip install -r requirements.txt

# 方法B:虚拟环境安装(更安全)
python -m venv venv
# Windows:
venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate

pip install -r requirements.txt

步骤3:验证安装

python verify_installation.py

预期输出:

✅ Python Version - PASS
✅ Dependencies - PASS
✅ Project Structure - PASS
✅ Module Imports - PASS
✅ File Permissions - PASS

✅ All checks passed! System is ready to use.

🎯 使用场景

场景1:快速演示(3分钟)

python quick_start.py

这会:

  1. 创建示例照片和Logo
  2. 运行4个演示场景
  3. 生成对比报告

输出位置: ./output/ 目录

场景2:保护单张照片

python protect_image.py protect \
  --image my_photo.jpg \
  --logo my_watermark.png

输出:

  • my_photo_01_visible_watermark.png - 可见水印版
  • my_photo_02_adversarial_protected.png - 完整保护版

场景3:添加版权溯源信息

python protect_image.py protect \
  --image my_photo.jpg \
  --logo my_watermark.png \
  --author "John Smith" \
  --id "PHOTO_2025_001"

额外输出:

  • my_photo_03_final_protected.png - 含版权信息

场景4:验证水印

python protect_image.py verify \
  --image my_photo_03_final_protected.png

输出示例:

✅ Watermark verified!

Copyright Information:
  • author: John Smith
  • id: PHOTO_2025_001
  • timestamp: 2025-01-01T12:00:00

场景5:高级配置(自定义参数)

python protect_image.py protect \
  --image my_photo.jpg \
  --logo my_watermark.png \
  --fragments 8 \                # 8个水印碎片(更强防护)
  --perturbation-strength 0.08   # 更强的对抗扰动

💻 命令参考

protect 命令

python protect_image.py protect [选项]

必须参数:
  --image, -i FILE          输入图像路径
  --logo, -l FILE           Logo图像路径

可选参数:
  --output, -o DIR          输出目录(默认./output)
  --fragments N             水印碎片数(默认6,建议4-8)
  --perturbation-strength X 对抗扰动强度(默认0.05,范围0.03-0.10)
  --author NAME             作者名称
  --id ID                   唯一ID
  --no-invisible            禁用不可见水印

示例:
  python protect_image.py protect -i photo.jpg -l logo.png
  python protect_image.py protect -i photo.jpg -l logo.png -o myoutput --fragments 7 --author "Me"

verify 命令

python protect_image.py verify [选项]

必须参数:
  --image, -i FILE          带水印的图像路径

示例:
  python protect_image.py verify -i protected.png

create-example 命令

python protect_image.py create-example

生成:
  ./samples/sample_landscape.jpg   示例照片
  ./samples/sample_logo.png        示例Logo

📊 常见参数配置

配置1:平衡模式(默认)

python protect_image.py protect \
  --image photo.jpg \
  --logo logo.png \
  --fragments 6 \
  --perturbation-strength 0.05

💡 适合大多数场景

配置2:最大防护

python protect_image.py protect \
  --image photo.jpg \
  --logo logo.png \
  --fragments 8 \
  --perturbation-strength 0.10

💡 对抗最强AI,但可能微弱可见

配置3:隐蔽模式

python protect_image.py protect \
  --image photo.jpg \
  --logo logo.png \
  --fragments 4 \
  --perturbation-strength 0.03

💡 最不可见,但防护较弱

配置4:完整保护(含溯源)

python protect_image.py protect \
  --image photo.jpg \
  --logo logo.png \
  --author "Your Name" \
  --id "UNIQUE_ID" \
  --fragments 6 \
  --perturbation-strength 0.05

💡 最完整的保护方案


🐛 故障排查

问题1:ModuleNotFoundError: No module named 'cv2'

原因: OpenCV没有安装

解决方案:

pip install opencv-python

问题2:PIL.UnidentifiedImageError

原因: 图像文件格式不支持或损坏

检查项:

  • 图像格式是否为 JPG/PNG/BMP
  • 文件路径是否正确
  • 文件是否损坏

问题3:PermissionError: [Errno 13] Permission denied

原因: 输出目录无写权限

解决方案:

# 创建输出目录
mkdir output
# 或指定有权限的输出目录
python protect_image.py protect ... --output C:\Temp\output

问题4:处理速度很慢

可能原因: 图像过大或CPU性能低

优化方案:

# 减少水印碎片数
python protect_image.py protect --image photo.jpg --logo logo.png --fragments 4

# 或先缩小图像再处理

问题5:输出图像显示不正常

可能原因: 图像格式转换问题

检查项:

  • 使用不同的图像查看器
  • 确保输出目录有足够空间
  • 检查是否完整写入

📚 进一步学习

如果你想...

了解基本原理 → 阅读 README.md

理解技术细节 → 阅读 IMPLEMENTATION_GUIDE.md

查看所有文件说明 → 阅读 FILE_GUIDE.md

查看项目总结 → 阅读 PROJECT_SUMMARY.md

在自己的代码中使用 → 参考以下示例...


🔧 编程示例

基础使用

from watermark_protection import WatermarkProtectionSystem

# 创建系统
system = WatermarkProtectionSystem()

# 保护图像
results = system.protect_image(
    image_path='input.jpg',
    logo_path='logo.png',
    output_dir='./output',
    copyright_info={
        'author': 'Your Name',
        'id': 'UNIQUE_ID'
    },
    add_invisible_watermark=True
)

# 获取最终输出
print(results['final_protected'])

单独使用可见水印

from watermark_protection.visible_watermark import StructuredWatermarkGenerator

gen = StructuredWatermarkGenerator(num_fragments=6)
watermarked = gen.apply_watermark('input.jpg', 'logo.png')
watermarked.save('visible_watermarked.png')

单独使用对抗扰动

from watermark_protection.adversarial_protection import AdversarialPerturbationInjector

injector = AdversarialPerturbationInjector(perturbation_strength=0.05)
protected = injector.inject_perturbation('watermarked.png')
protected.save('protected.png')

验证不可见水印

from watermark_protection.invisible_watermark import InvisibleWatermarkDecoder

decoder = InvisibleWatermarkDecoder()
info = decoder.decode('protected.png')

if info:
    print(f"Author: {info['author']}")
    print(f"ID: {info['id']}")

✅ 检查清单

安装前:

  • Python 3.8+ 已安装
  • 有待保护的图片
  • 有Logo图片(PNG最佳)
  • 至少100MB硬盘空间

安装后:

  • 运行了 verify_installation.py 并通过
  • 运行了 quick_start.py 看到输出
  • 尝试保护了一张图片
  • 理解了水印防护的三个层次

📞 获取帮助

查看详细文档

# 打开README(详细说明)
# 打开IMPLEMENTATION_GUIDE(技术细节)
# 打开FILE_GUIDE(文件说明)

运行测试

python tests.py

验证环境

python verify_installation.py

查看帮助信息

python protect_image.py --help

🎓 学习路径

第1天:快速入门

  1. 运行 verify_installation.py
  2. 运行 quick_start.py 看演示
  3. 保护第一张图片
  4. 阅读 README.md 的"概述"部分

第2-3天:理解原理

  1. 阅读 README.md 的"技术原理"部分
  2. 查看各模块的代码实现
  3. 尝试不同的参数配置
  4. 阅读 IMPLEMENTATION_GUIDE.md

第4-5天:深入学习

  1. 研究对抗性扰动的数学原理
  2. 理解频域处理和隐蔽水印
  3. 考虑如何扩展功能
  4. 设计自己的应用

🎉 开始使用

现在你已经准备好了!

第一步:验证安装

python verify_installation.py

第二步:运行演示

python quick_start.py

第三步:保护你的图片

python protect_image.py protect --image your_photo.jpg --logo your_logo.png

就这么简单! 🚀


祝你使用愉快!如有问题,参考相关文档或运行 verify_installation.py 进行诊断。