做在线工具箱时,最初的清单里有一条”去除水印”。做之前重新评估了一遍,最后把它改成了另一个功能:打码遮盖(马赛克 / 模糊 / 纯色块)。
这个改动不是因为技术难度,而是想清楚了一件事:这个功能的典型用法是什么。
先说技术:真能”去掉”吗
要把已经压进画面里的水印去掉,本质上是在做图像修复(inpainting)——让算法根据周围像素去”猜”水印下面原本是什么。
结果取决于水印的位置和背景:
- 水印压在纯色或规律背景上:修复效果不错,几乎看不出来。
- 水印压在复杂纹理或人脸上:结果往往是一块模糊的斑,反而比留着水印更难看。
- 半透明平铺水印:几乎不可能干净去除。
所以”去水印”在技术上是个效果不稳定的功能。这一点本身就足以让人犹豫。
真正的问题:谁在用,用来干什么
一个诚实的问题是:用户搜索”去水印”,想去掉的是谁的水印?
答案绝大多数是别人的——下载来的图片素材、别人的摄影作品、付费内容的预览图、视频平台的 logo。
这就涉及两件事:
- 著作权:水印通常是署名和权利声明的载体。去掉它,等于抹掉权利人的身份标识,后续的使用行为就很难被认为是善意的。
- 技术措施:水印属于权利人采取的保护措施,提供专门绕过的工具,性质上接近”帮助侵权”。
即便工具本身是中立的,一个以”去水印”为卖点的产品,实际吸引来的绝大部分流量都指向同一个用途。这时候”我只提供工具、不负责使用”的辩解是很苍白的。
那自己的水印怎么办
这里要分开看:如果图是你自己拍的、水印是你自己加的(比如相机自动加的日期水印、自己平台的导出水印),那处理掉完全没有问题——你是在处理自己的作品。
问题是工具无法区分。用户上传一张图,工具不知道水印是谁加的。
所以能做的选择只有两个:要么全做(承担上述风险),要么不做。没有”只服务正当用途”的第三条路。
改成打码遮盖之后
新功能做的是相反方向的事:往图上加东西,而不是从图上拿走东西。
它的正当用途非常明确,而且是我自己天天会遇到的:
- 发快递单据前,把姓名、电话、地址盖掉。
- 截图分享时,把聊天对象的头像和昵称盖掉。
- 晒订单、晒票据时,把订单号和金额盖掉。
- 发证件照片时,把证件号部分遮住。
这些场景的共同点是:你遮盖的是自己的或他人托付给你的敏感信息,目的是减少泄露,而不是抹掉别人的权利声明。
功能实现上有三种笔刷——马赛克(不可逆性最强)、高斯模糊(视觉上更自然)、纯色块(最彻底)。强度可调,支持批量处理。
一个通用的判断方法
这次评审给我留下一个可复用的检查:
与其问”这个功能能不能做”,不如问”这个功能被最典型地用来做什么”。
技术可行性是个客观问题,使用意图是个概率问题。当一个功能的技术门槛很低、而被滥用的概率很高时,不做它通常是对的。
顺带一提,工具箱里这两个功能都跑在浏览器本地——图片不会上传到任何服务器。这解决不了”用途”的问题,但至少不额外增加”你的图被别人存了一份”的风险。