Community图像github.com

AshfanAnsari/手写页面转换

将拍摄的手写文档(作业、笔记本页面)转换为使用一个选定参考手写风格撰写的整洁完整文档,逐页匹配笔迹、笔画粗细、墨水颜色和纸张色调,并验证文本准确性。

手写页面转换 是什么?

该技能能够将多页手写文档照片统一转换为单一目标手写风格的PDF文件。用户只需提供一页“标准页”作为参考,其余所有页面将基于该标准页的笔迹特征(包括字形、笔画粗细、墨水颜色和纸张色调)进行重写。工作流程包括四个核心步骤:转录源页面文本(保留原样拼写错误)、利用图像生成器根据标准页+转录文本生成新页面、通过像素级测量和合成调整笔画粗细和尺寸、以及应用颜色映射修正墨水与纸张色调。技能强调避免直接使用源页作为风格参考(防止“照片复制”)、单独验证四个质量轴(文本、笔迹、尺寸/粗细、颜色)、逐页构建并仅处理用户标记的问题页面。支持平台包括能够接收参考图像、进行缩放查看以及支持图像处理库(如Python + PIL/numpy)的脚本运行环境。其主要目的是防止常见的失败模式,如页面被“照片复制”而误认为转换成功、风格不统一、尺寸偏离、颜色漂移以及几何图形重绘错误。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AshfanAnsari/handwriting-page-conversion-skill/tree/HEAD

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

手写页面转换 是做什么的?

将手写文档的每一页统一重写为目标手写风格。目标手写风格由一页经批准的参考页(“标准页”)定义。其他所有页面必须在四个独立维度上与标准页匹配:文本、笔迹身份、笔画粗细/大小以及颜色(墨水+纸张)。除非四个维度均通过,否则该页尚未完成。

你需要:一个能接受参考图像的图像生成器,一个可缩放的图像查看器,以及一个带有图像库(例如Python + PIL/numpy)的脚本运行时,用于测量、合成和评分。

核心规则(从实践中得来,请勿跳过)

  1. 切勿将源页照片作为风格/布局参考提供给生成器。 这样做会导致生成器“照片复制”源页——原始笔迹原封不动地保留,看起来似乎“已转换”。请严格按照以下方式逐页生成:标准页图像 + 源页文本的精确转录。除此之外别无他物。
  2. 保留作者自己的拼写和错误。 精确转录源页内容,包括拼写错误(例如“equillibrium”、“singal”、“coesist”)。源页是内容的权威来源,即便这与参考书或你自己的知识相悖。使用缩放功能逐位验证数字、表格值和公式。
  3. 分别验证四个维度。 页面可能文本通过但笔迹失败(过于整洁、圆润、粗犷、像字体——这是生成器的默认风格)。仅验证文本往往会轻易“通过”被照片复制的页面,这正是次品版本被交付的原因。
  4. 逐页处理。 构建一页,呈现出来,等待用户裁决(或用户说“全部构建,我之后再评判”),然后再组装。仅修复用户标记的页面——切勿默默替换额外页面。
  5. 如非必要,请勿重绘图形、图表或表格。 重绘会破坏几何结构(曲线不连接、坐标轴刻度重复、端点错误)。将打印/图表页面原样保留。对于一张原本正确的绘图中出现的微小标签瑕疵,请修补像素:用同一页纸上已验证空白的区域擦除并修补,然后使用采集到的墨水颜色重新绘制被损坏的部分。通过深色像素的行/列轮廓来确定墨水位置——切勿根据缩放预览的坐标目测。

工作流

1. 锁定标准页

  • 选择最佳页面(或生成一个演示页面并获批准)。此页面固定以下要素:字形、中位行高(进行测量,例如在工作分辨率下约为40像素)、笔画粗细、墨水颜色(进行采样,例如深蓝黑色RGB≈[58,58,65])和纸张色调(例如RGB≈[208,206,209])。
  • 后续每一页都将与标准页在匹配的缩放级别下进行比较——在不同缩放级别下比较粗细会产生误导。

2. 转录

  • 以全尺寸阅读每个源页,然后缩放阅读每个可疑的单词。编写精确的转录,保留拼写、标点、下划线、框线、标题和空白区域(如果原文留空半页,重写版本也应如此)。
  • 明确列出该页的“陷阱词”(长/不常见的单词、数值、公式)——这些词需要在生成提示中加入逐字母拼写的护栏,并在之后进行个人缩放检查。

3. 全新生成

  • 提示:标准页图像(作为唯一的图像参考)+ 精确转录 + 优先纤薄的风格说明:“细圆珠笔、轻压、不规则细笔画、深蓝黑色墨水,切勿粗/厚/重/整洁”。仅靠文本提示会偏向来模型整洁的默认手写风格——必须将参考图包含在调用中。
  • 如果生成器支持从先前生成状态恢复/继续,从标准页自身的生成状态恢复并仅替换文本,可获得最接近的手写匹配。注意:此类恢复句柄可能过期(约1小时)——过期后则回退至从参考图像全新生成;切勿链式恢复。
  • 首次尝试常常漏掉个别单词。请拒绝并重试,将单词在提示中逐字母拼写出来。

4. 测量并修复大小/粗细(合成步骤)

生成的页面通常尺寸过大且笔画过重。请通过像素修复,而不是盲目重新生成:

  • 检测页面边框(例如彩色边缘框:绿色 = G超过max(R,B)超过20;从投影轮廓中找到边框线,每侧最外侧的强线;允许对淡色边框进行手动覆盖)。
  • 使用从页面自身采样的逐行纸张填充(每行的中位纸张颜色)清除内部区域。
  • 仅转移墨水:通过暗度构建alpha蒙版,并使用暗度^1.35曲线细笔划。切勿粘贴纸张+墨水的矩形——粘贴的纸张块会留下旧书写的重影轮廓,以及可见的纸张接缝,打印出来会像污渍。
  • 缩放墨水块,使其行高中位值略低于标准页(目标约35像素,标准页为40像素——人眼会将匹配缩放比例的页面视为偏大)。
  • 恢复原始边框,重新验证边框完整性,并打印最终的中位行高作为证明。
  • 请勿合成表格页或有行线结构——长行线会破坏边框检测,且转移过程会拖动线条。直接保留干净的表格生成结果。

5. 评分颜色

测量成品页上的纸张和墨水(从墨水样本中排除边框像素),并使用基于标准页的仿射变换逐通道重新映射:本页纸张 → 标准纸,本页墨水 → 标准墨水。(注意符号:墨水比纸张暗,因此分母为负数——限制其范围会反转评分。)通过重新测量验证:纸张和墨水应落在标准页的RGB值几个点之内。对每个生成的页面进行评分;保留原样转移的打印页和标准页本身。

6. 组装并披露

  • 仅从已批准的页面组装PDF,按顺序排列,并验证页数。
  • 提供所有页面的联系表,以便一眼判断一致性。
  • 清楚披露已知瑕疵(遗漏的短语、近似曲线)。切勿将修复视为完成,除非已通过视觉裁剪检查——数值探测不是人眼。

本技能旨在防止的失败模式

  • 将“照片复制”的页面作为“已转换”交付(源页被提供给生成器;仅基于文本的质量检查)。
  • 某些页面呈现整洁字体风格,而其他页面呈现目标笔迹(无单一标准;仅基于文本的提示)。
  • 页面风格匹配,但比参考页大/粗20-30%(无匹配缩放级别的测量)。
  • 亮白色纸张和硬黑色墨水偏离参考照片的柔和色调(无评分步骤)。
  • 背景中出现重影字体,打印出来像墨水(使用纸张块合成而非仅墨水转移)。
  • 重新绘制的图形存在几何断裂(重新生成了本应原样保留或像素修补的内容)。
  • 范围蔓延:重建了用户从未标记的页面。

相关技能