# 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硬盘空间
python --version预期输出:Python 3.8.x 或更高
# 进入项目目录
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.txtpython 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.
python quick_start.py这会:
- 创建示例照片和Logo
- 运行4个演示场景
- 生成对比报告
输出位置: ./output/ 目录
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- 完整保护版
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- 含版权信息
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
python protect_image.py protect \
--image my_photo.jpg \
--logo my_watermark.png \
--fragments 8 \ # 8个水印碎片(更强防护)
--perturbation-strength 0.08 # 更强的对抗扰动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"python protect_image.py verify [选项]
必须参数:
--image, -i FILE 带水印的图像路径
示例:
python protect_image.py verify -i protected.pngpython protect_image.py create-example
生成:
./samples/sample_landscape.jpg 示例照片
./samples/sample_logo.png 示例Logopython protect_image.py protect \
--image photo.jpg \
--logo logo.png \
--fragments 6 \
--perturbation-strength 0.05💡 适合大多数场景
python protect_image.py protect \
--image photo.jpg \
--logo logo.png \
--fragments 8 \
--perturbation-strength 0.10💡 对抗最强AI,但可能微弱可见
python protect_image.py protect \
--image photo.jpg \
--logo logo.png \
--fragments 4 \
--perturbation-strength 0.03💡 最不可见,但防护较弱
python protect_image.py protect \
--image photo.jpg \
--logo logo.png \
--author "Your Name" \
--id "UNIQUE_ID" \
--fragments 6 \
--perturbation-strength 0.05💡 最完整的保护方案
原因: OpenCV没有安装
解决方案:
pip install opencv-python原因: 图像文件格式不支持或损坏
检查项:
- 图像格式是否为 JPG/PNG/BMP
- 文件路径是否正确
- 文件是否损坏
原因: 输出目录无写权限
解决方案:
# 创建输出目录
mkdir output
# 或指定有权限的输出目录
python protect_image.py protect ... --output C:\Temp\output可能原因: 图像过大或CPU性能低
优化方案:
# 减少水印碎片数
python protect_image.py protect --image photo.jpg --logo logo.png --fragments 4
# 或先缩小图像再处理可能原因: 图像格式转换问题
检查项:
- 使用不同的图像查看器
- 确保输出目录有足够空间
- 检查是否完整写入
了解基本原理 → 阅读 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.pypython verify_installation.pypython protect_image.py --help- 运行
verify_installation.py - 运行
quick_start.py看演示 - 保护第一张图片
- 阅读 README.md 的"概述"部分
- 阅读 README.md 的"技术原理"部分
- 查看各模块的代码实现
- 尝试不同的参数配置
- 阅读 IMPLEMENTATION_GUIDE.md
- 研究对抗性扰动的数学原理
- 理解频域处理和隐蔽水印
- 考虑如何扩展功能
- 设计自己的应用
现在你已经准备好了!
第一步:验证安装
python verify_installation.py第二步:运行演示
python quick_start.py第三步:保护你的图片
python protect_image.py protect --image your_photo.jpg --logo your_logo.png就这么简单! 🚀
祝你使用愉快!如有问题,参考相关文档或运行 verify_installation.py 进行诊断。