3.9 KiB
3.9 KiB
Gemini & NotebookLM 无损去水印工具
基于浏览器的隐私优先去水印工具,专为处理 Gemini 和 NotebookLM 生成的内容(图片及 PDF)而设计。项目采用原生 JavaScript 构建,结合了数学精确的无损还原算法与鲁棒的智能修补技术。
✨ 功能特性
- 多格式支持:完美支持 Gemini 生成的标准图片 (
.jpg,.png,.webp) 以及 NotebookLM 文档 (.pdf)。 - 无损还原:针对 Gemini 标准图片,采用 反向 Alpha 混合 (Reverse Alpha Blending) 算法,像素级还原原图,拒绝模糊。
- 智能修补:针对 NotebookLM 的条状水印或 PDF 幻灯片,采用 智能克隆 (Simple Clone) 技术,自动采样邻近像素进行修补融合。
- 隐私优先:100% 纯浏览器本地处理,任何文件都不会上传至服务器。
- 批量处理:支持多文件拖拽上传,处理完成后可打包为 ZIP 一键下载。
- 现代 UI:支持深色/浅色模式切换,界面简洁响应快。
- PDF 预览:PDF 处理时实时显示页码进度,完成后可预览处理好的首页。
🛠️ 技术栈
- 核心逻辑: Vanilla JavaScript (ES Modules)
- PDF 处理:
pdfjs-dist(解析) &jspdf(生成) - UI 样式: Tailwind CSS (CDN)
- 构建工具:
esbuild
🧩 原理说明
本工具根据文件类型自动选择两种不同的处理策略:
1. 反向 Alpha 混合 (适用于 Gemini 图片)
Gemini 添加水印使用的是标准的 Alpha 合成公式:
Pixel_{watermarked} = \alpha \cdot Pixel_{logo} + (1 - \alpha) \cdot Pixel_{original}
我们通过反向推导来恢复原始像素:
Pixel_{original} = \frac{Pixel_{watermarked} - \alpha \cdot Pixel_{logo}}{1 - \alpha}
利用预先提取的 Alpha Map(48px/96px),我们可以精确计算出原始像素值,实现近乎零损失的还原。
2. 智能克隆修补 (适用于 NotebookLM & PDF)
对于 NotebookLM 的条状水印或某些 PDF 页面,由于缺乏固定的 Alpha Map,工具采用 Simple Clone 技术。它自动定位水印区域,从紧邻水印上方或周围的区域“克隆”像素块覆盖水印,并对边缘进行羽化融合,从而达到视觉上的消除效果。
🔗 致谢与参考
本项目站在巨人的肩膀上,特别感谢开源社区的杰出贡献:
-
原项目: gemini-watermark-remover by journey-ad。
- 提供了项目的基础架构、Alpha Map 核心逻辑及反向混合算法的初始实现。
-
算法起源: Gemini Watermark Tool by Allen Kuo。
- 最早发现并公开了该数学原理及水印掩膜数据。
🚀 使用指南
本地开发
- 克隆代码仓库:
git clone http://git.unissense.tech/mula/gemini_watermark_cleaner.git - 安装依赖:
pnpm install - 启动开发模式(持续监听变化):
pnpm dev - 启动本地预览服务:
pnpm serve - 构建生产版本:
pnpm build
Docker 部署
- 构建并启动容器:
docker-compose up -d --build - 访问
http://localhost:3000(或在.env中配置的端口)即可使用应用。
浏览器使用
构建完成后打开 dist/index.html,或直接访问部署好的站点。将文件拖入上传区域即可:
- 图片:即时预览去水印结果。
- PDF:显示处理进度(页码),完成后预览并支持下载。