签名抠成
透明 PNG
给一张签名照片或截图,出来的是 纯黑笔迹 + 全透明背景。 贴进 Word、PPT、电子合同,不会再带一块白底。
跑在本机
图片不上传
自带断笔自检
原图 · 白底一起带走
抠完 · 只剩笔迹
演示图是脚本合成的测试签名(A 档:白底、粗笔),不是真人签名
白底那一块,就是这个技能要解决的问题
同一张签名,贴到有底色的版面上,差别一眼就看出来。

直接贴原图
白底跟着走,在彩色 PPT、扫描件、表单底纹上露出一个方块。

抠完再贴
背景全透明,笔迹是纯黑 —— 放在什么底色上都成立。
不用你调参,它先量再判
动手前先量两件事:背景白度(灰度 p90)和笔迹宽度(等效宽度 w75)。 纯白底的细笔和灰底的粗笔,起手参数本来就不该一样 —— 分三档走。
A白底粗笔
高清黑底白字、笔迹适中

B灰底粗笔
灰底 / 低对比度 / 粗笔

C白底细笔
细笔 / 中等模糊 / 纯白底

# 判错档不用慌:先动 --dil(断笔首选),再 --threshold,最后才微调 --dist
python3 skill/scripts/process_signature_cv2.py 签名.png -o 姓名.png --auto --trim三步跑完
依赖只有 OpenCV / numpy / Pillow,装的时候记得 --only-binary=:all:。
# 1. 先问它用哪个解释器(本机自带 python 常常缺 numpy)
python3 skill/scripts/bootstrap_env.py --check
# 2. 处理一张:--auto 自动判档,--trim 裁掉四周留白
python3 skill/scripts/process_signature_cv2.py 签名.png -o 姓名_transparent.png --auto --trim
# 3. 出肉眼核对图:白底版 / 断笔叠加图 / 左右对比图
python3 skill/scripts/preview.py 签名.png 姓名_transparent.png跑完会打印三段日志(判档依据 / 参数 / 断笔自检)。断笔没修干净时它会自己回退一档重跑。
真实案例:横线本上拍的字
下面三张不是合成的 —— 是写在横线本上、用手机拍的照片:灰纸、格线、 页眉的印刷字全带着,正是最难对付的一类输入。 这类图直接跑会全线断笔,得先过一道输入规范化。
左=原图,右=处理结果(棋盘格表示透明区)。三张写的都是历史人物的名字, 不涉及任何在世个人的签名,所以可以公开放在这里;私人签名一律不进本站。
不是拍脑袋写的
算法是八组真实签名(含三组横线本拍照件)、七个版本迭代收敛出来的,踩过的坑逐条写进了参考文档。
8 组真实签名实测校准(2026-06 ~ 2026-10)
v14现行算法版本,参数与判档口径都留了出处
12 条实踩坑写进 pitfalls.md:断笔、灰边、小图发肉…