piapia123
zh

手写签名抠图

图像

所有处理都在浏览器本地完成,数据不上传服务器

把图片拖到这里,或点击选择

也可以按 Ctrl/⌘ + V 粘贴截图

PNG / JPEG / WebP / GIF / BMP / AVIF · 单张不超过 30 MB

在纸上签个名,拍一张照片,这里把它变成可以直接贴进文档的透明底 PNG。要解决的核心问题是纸不是白的 —— 手机拍出来的纸是灰白色,直接贴进合同里会带一块灰底。做法是按亮度给每个像素算透明度:越暗越不透明、越亮越透明,中间留一段渐变,所以纸的底色整体消失,而笔画边缘不会变成锯齿。分界点默认自动计算(Otsu 法),它会自己找出纸与墨两堆像素之间最合适的位置,所以你不需要知道纸有多白、光线有多暗。输出前还会自动裁掉四周的空白,签名在文档里就不会顶着一圈多余的边。整个过程在本机完成,签名图像不会上传。

功能

  • 自动分离笔迹与纸张,纸不白、光线不匀也能用
  • 阈值也可以手调,五档覆盖淡墨到重墨
  • 边缘过渡四档:照片用柔和,扫描件用硬边
  • 墨色可换成纯黑、签字笔蓝或红,解决「照片里的黑发灰」
  • 自动裁掉四周空白,只留一点点边
  • 反色模式:深色纸上的白笔也能抠
  • 可输出白底版,给不支持透明的表单用
  • 找不到笔迹时直接说清怎么办,而不是给一张全透明的空图
  • 签名图像不上传、不经过任何服务器

使用方法

  1. 白纸上用深色笔签个名,拍清楚一点(背景越干净越好)
  2. 把照片拖进来
  3. 默认设置通常就能用;不满意就调阈值与边缘过渡
  4. 下载 PNG,贴进文档或表单里

常见问题

抠出来的签名有灰色的底,或者笔画缺了一块?
底色没去干净说明阈值太低(把纸也算成了墨)—— 换到「自动」通常能解决,因为 Otsu 会按这张照片的实际亮度重新找分界。笔画缺一块则相反:阈值太高,把浅一点的笔画也当成纸了,手动往低档(150 或 120)调。另外边缘过渡调太大会让淡笔画变透明,如果签名的收笔处特别细,把它降到 8 试试。
为什么我的签名贴到 Word 里变成黑底白字了?
那是 Word 把透明区域显示成了黑色(早期版本或某些显示模式下会这样)。这不是图片的问题,但有个稳妥的绕法:把底色的选项改成「白底」再下载,那张图在任何环境里都不会显示成黑块。如果文档本身就是深色背景,那还是用透明版,只是预览时别被 Word 的黑底误导 —— 打印出来是对的。
自动阈值是怎么算的?为什么不用我自己给一个数?
用的是 Otsu 法:统计整张图的亮度直方图,找一个把像素分成两堆、且两堆差别最大的位置。纸与墨本来就是两堆,所以它几乎总能找到对的分界 —— 而且不需要知道纸有多白、灯有多亮。手调的档位是留给特殊情况的:墨特别淡、或者纸上有大片阴影时,自动值可能偏向一边,那时手动指定更准。
签名图片会上传吗?
不会。处理只用浏览器自己的 canvas,全程在本机内存里。手写签名与身份证、合同的效力直接相关,是最不该经过第三方服务器的图像之一;断网时工具照常工作,这本身就是没有上传的证据。

相关工具