为什么擦不掉照片里的人,只能擦小东西?
因为这个工具用的是经典图像修补算法(OpenCV 的 Telea / Navier-Stokes),不是 AI 生成模型。它的原理是从你涂抹区域的边界向内推算——用周围已知的像素去填补中间的空缺,本质上是「延伸周围的纹理」,而不是「理解画面内容后重新画一个」。所以待修补的区域越大、周围背景越复杂,推算出来的结果就越糊。擦掉一整个人需要模型真正「想象」出他背后被挡住的场景,那是生成式 AI 才能做的事。实用建议:分多次、每次涂一小块,效果通常远好于一次涂一大片。
为什么不用 AI 抠图那样的模型来做,效果不是更好?
我们认真评估过。浏览器里能跑的 AI 修补模型主要是 LaMa(ONNX 约198MB,体积在浏览器里不现实)和 MI-GAN(约26.7MB,体积可以接受),但 MI-GAN 发布权重的仓库没有声明许可证,而权重是在一个条款写明「仅限非商业研究和教育用途」的数据集上训练的——「用非商用数据训练出的权重能否商用」在法律上目前没有定论,我们不认为应该替用户承担这个不确定性。而 OpenCV 的经典算法是 Apache-2.0,并且它根本没有训练数据,这个问题对它不存在。另一个好处是体积:整个引擎压缩后约3.5MB,比 MI-GAN 小7倍多,点开就能用,不用先等一个大模型下载完。
「修补范围」这个参数该怎么调?
它决定算法参考涂抹区域周围多大一圈的像素来推算填充内容。默认值适合大多数情况。如果修补出来的地方和周围明显接不上、有生硬的边界,可以调大一点;如果发现远处不相关的东西被糊了进来(比如擦一个贴着树的物体,结果树的颜色渗过来了),或者速度明显变慢,就调小一点。
照片会上传到服务器吗?
不会。修补引擎(OpenCV.js)下载到你的浏览器之后,整个计算过程都在本地完成,照片本身不会离开你的设备。引擎文件会被浏览器缓存,之后使用不需要重复下载,断网也能用。