cd s:\新建文件夹\jiuxingHttp
python run_web.pycd s:\新建文件夹\jiuxingHttp
pip install flask flask-cors
python app.py| 功能 | 说明 | 状态 |
|---|---|---|
| 图片上传 | 支持PNG/JPG/BMP/TIFF,最大50MB | ✅ |
| 参数调整 | 4种预设 + 自定义参数 | ✅ |
| 实时预览 | 上传和处理结果实时显示 | ✅ |
| 水印生成 | 可见+对抗+隐形三层保护 | ✅ |
| 快速下载 | 一键下载处理后的图片 | ✅ |
| 图片库 | 保存处理历史 | ✅ |
| API接口 | 完整的REST API | ✅ |
| 响应式设计 | 适配所有设备 | ✅ |
① 进入 http://localhost:5000
② 拖拽图片到上传区域或点击选择
③ 支持格式:PNG, JPG, BMP, TIFF
④ 最大文件:50MB
选择方式一:快速预设
- 轻量保护 (3个水印)
- 标准保护 (6个水印) ← 推荐
- 强力保护 (12个水印)
- 最大保护 (20个水印)
或选择方式二:自定义参数
- 水印数量:1-20
- 对抗强度:0-1
- 水印文本:自定义
- 隐形水印:可选
点击"生成水印"按钮
↓
系统处理图片(通常需要几秒)
↓
显示处理结果和对比图
查看原图和处理后的对比
↓
点击"下载处理后的图片"
↓
浏览器自动下载PNG文件
- 操作系统:Windows/Linux/macOS
- Python:3.8+
- 浏览器:Chrome/Firefox/Safari/Edge
- 磁盘空间:至少200MB(用于临时文件)
python run_web.py # 首次运行会自动检查和安装依赖pip install -r requirements.txt# 安装Web框架
pip install flask flask-cors
# 安装图像处理
pip install opencv-python pillow numpy scipy
# 验证安装
python -c "import flask, cv2, PIL; print('✅ 依赖已安装')"| 服务 | 地址 | 说明 |
|---|---|---|
| 首页 | http://localhost:5000 | Web应用主页 |
| API - 上传 | POST /api/upload | 上传图片 |
| API - 处理 | POST /api/process | 处理图片 |
| API - 下载 | GET /api/download/ | 下载文件 |
| API - 信息 | GET /api/info | 系统信息 |
| API - 预设 | GET /api/presets | 获取预设 |
处理后的文件存储位置:
jiuxingHttp/
├── uploads/ # 上传的原始图片
│ └── *.png
├── processed/ # 处理后的图片
│ └── *_watermarked_*.png
└── ...
# 删除所有上传的文件
rm -r uploads/*
# 删除所有处理结果
rm -r processed/*A:
# 1. 检查Flask是否在运行
# 应该看到: Running on http://0.0.0.0:5000
# 2. 确保端口5000未被占用
# Windows:
netstat -ano | findstr :5000
# 3. 尝试访问其他地址
http://127.0.0.1:5000
http://localhost:5000A:
✓ 检查文件格式 (PNG/JPG/BMP/TIFF)
✓ 检查文件大小 (< 50MB)
✓ 检查文件是否完整(不要中途中断)
✓ 查看浏览器控制台错误信息 (F12)
A:
✓ 减少水印数量(用轻量预设)
✓ 使用较小的图片
✓ 关闭其他程序释放系统资源
✓ 对于大图片,预期需要10-30秒
A:
# 编辑 app.py 最后一行
app.run(host='0.0.0.0', port=8080) # 改为8080
# 然后访问 http://localhost:8080A:
# 1. 上传代码到服务器
scp -r jiuxingHttp/ user@server:/home/user/
# 2. SSH连接服务器
ssh user@server
# 3. 启动应用
cd /home/user/jiuxingHttp
python run_web.py
# 4. 访问
http://your-server-ip:5000# 在终端中按 Ctrl+C 停止Flask服务器
^C
# 或在Windows任务管理器中结束 python.exe 进程| 参数 | 值 | 说明 |
|---|---|---|
| 最大上传大小 | 50MB | 可在app.py中修改 |
| 处理超时 | 无限制 | 根据图片大小决定 |
| 并发连接 | 无限制 | Flask默认配置 |
| 缓存时间 | 1小时 | 浏览器缓存 |
# app.py 最后修改为:
app.run(
host='0.0.0.0',
port=5000,
debug=False, # 关闭调试模式
use_reloader=False # 关闭热重载
)# 定期清理上传的文件
find uploads/ -type f -mtime +1 -delete # 删除1天前的文件
# 限制文件权限
chmod 700 uploads/
chmod 700 processed/# 1. 上传文件
curl -X POST \
-F "file=@image.png" \
http://localhost:5000/api/upload
# 2. 处理图片
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"filepath": "/path/to/uploads/image.png",
"fragments_count": 6,
"perturbation_strength": 0.3,
"watermark_text": "© Protected"
}' \
http://localhost:5000/api/process
# 3. 下载文件
curl -O http://localhost:5000/api/download/image_watermarked.pngimport requests
# 上传文件
with open('image.png', 'rb') as f:
response = requests.post(
'http://localhost:5000/api/upload',
files={'file': f}
)
data = response.json()
filepath = data['filepath']
# 处理图片
response = requests.post(
'http://localhost:5000/api/process',
json={
'filepath': filepath,
'fragments_count': 6,
'perturbation_strength': 0.3
}
)
result = response.json()
print(result['output_filename'])- 查看日志:在Flask控制台查看错误信息
- 浏览器开发工具:F12打开,查看Network和Console
- GitHub Issues:提交问题到仓库
- 在本地运行Web应用
- 上传测试图片
- 尝试不同的参数
- 下载和查看结果
- 分享你的成果!
祝你使用愉快! 🚀
有任何问题,随时提问!