MySkill-Signature 仓库

签名抠成
透明 PNG

给一张签名照片或截图,出来的是 纯黑笔迹 + 全透明背景。 贴进 Word、PPT、电子合同,不会再带一块白底。

跑在本机 图片不上传 自带断笔自检
白底签名原图 原图 · 白底一起带走
抠完后的透明背景签名 抠完 · 只剩笔迹

演示图是脚本合成的测试签名(A 档:白底、粗笔),不是真人签名

白底那一块,就是这个技能要解决的问题

同一张签名,贴到有底色的版面上,差别一眼就看出来。

直接贴原图会带一块白底
直接贴原图 白底跟着走,在彩色 PPT、扫描件、表单底纹上露出一个方块。
抠完之后只剩笔迹
抠完再贴 背景全透明,笔迹是纯黑 —— 放在什么底色上都成立。

不用你调参,它先量再判

动手前先量两件事:背景白度(灰度 p90)和笔迹宽度(等效宽度 w75)。 纯白底的细笔和灰底的粗笔,起手参数本来就不该一样 —— 分档走。

A白底粗笔

高清黑底白字、笔迹适中

A 档结果
B灰底粗笔

灰底 / 低对比度 / 粗笔

B 档结果
C白底细笔

细笔 / 中等模糊 / 纯白底

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

跑完会打印三段日志(判档依据 / 参数 / 断笔自检)。断笔没修干净时它会自己回退一档重跑。

真实案例:横线本上拍的字

下面三张不是合成的 —— 是写在横线本上、用手机拍的照片:灰纸、格线、 页眉的印刷字全带着,正是最难对付的一类输入。 这类图直接跑会全线断笔,得先过一道输入规范化。

横线本上的手写:左为原图,右为抠出的透明笔迹
带页眉印刷字的横线本手写:左为原图,右为处理后
上下都带邻行文字的横线本手写:左为原图,右只留下目标那一行

左=原图,右=处理结果(棋盘格表示透明区)。三张写的都是历史人物的名字, 不涉及任何在世个人的签名,所以可以公开放在这里;私人签名一律不进本站。

古帖与拓片:14 组

这批是竖排版式的题字,来源很杂:4 张是黑底白字的拓片、 1 张的落款红印章直接压在笔画上、其余多是泛黄发灰的旧纸。 旧版管线在它们上面会交出发白的废图 —— 而自检还报「通过」。

宣纸黄底的竖排题字:左为原图,右为抠出的透明笔迹
宣纸黄底 → 提白
整张发灰的底:左为原图,右为处理结果
整张发灰的底 → 提白
黑底白字的拓片:左为原图,右为反转并抠出的结果
黑底白字 → 自动反转
灰底竖排题字:左为原图,右为处理结果
灰底 → 提白
带宣纸颗粒纹理的题字:左为原图,右为处理结果
宣纸颗粒纹理 → 提白
拓本灰底题字:左为原图,右为处理结果
拓本灰底 → 提白
黑底白字的拓片:左为原图,右为反转并提白后的结果
黑底白字 → 反转 + 提白
页边带小注的竖排题字:左为原图,右为提白后的结果,侧边小注保留
页边小注 → 提白(侧注保留)
纸色已足够浅的题字:左为原图,右为处理结果
纸色已够浅 → 无需预处理
红印章压在笔画上的题字:左为原图,右为剥离印章后的结果
红印章压住笔画 → 剥离
黑底白字的长幅拓片:左为原图,右为反转并提白后的结果
黑底白字 → 反转 + 提白
纸色已足够浅的题字:左为原图,右为处理结果
纸色已够浅 → 无需预处理
只有 198 像素宽的小图:左为原图,右为处理结果
只有 198px 宽的小图
深褐色纸上的草书:左为原图,右为处理结果,笔画明显粘连
边界:深褐纸 + 草书,只到可辨

每格都是同一张图:左=原图,右=结果(棋盘格表示透明区)。点图可看原尺寸。 图注写的是这张图实际做过的处理 —— 标「无需预处理」的那几张,原图本身质量就够, 多一步反而有误伤笔画的风险。
最后一张是虚线框:深褐纸的纹理会被判成墨,笔画粘连,只到「认得出是哪个字」的程度。 它照实放在这里,不撤 —— 一处不足比一句「全都很好」可信。 这批同样是历史人物的字,不涉及在世个人;私人签名一律不进本站。

不是拍脑袋写的

算法是 22 组真实签名(3 组横线本拍照件 + 14 组古帖题字 + 5 组截图件)、十余版算法迭代收敛出来的,踩过的坑逐条写进了参考文档。

22 组真实签名实测校准(2026-06 ~ 2026-10)
4 档A/B/C/D 自动判档,断笔就沿回退阶梯重试
17 条实踩坑写进 pitfalls.md:断笔、灰边、小图发肉…