跳到正文

    手写记谱识别:能读哪些记谱写法

    ScanChess 能读哪些手写记谱写法:代数记谱法、dc 之类的简写、容易混淆的字母;不支持描述记谱法;以及每一步怎样在棋盘上重放校验。

    扫描记谱单

    注册即送 10 个免费积分,无需绑卡。扫描费用和 Pro 包含的内容见 定价

    准确率评测 · 2026年10月16日 · 一张真实手写记谱单 45 步中 43 步读对

    从这里开始: 手写记谱单转 PGN:分步教程 扫描工具本身,以及从照片到 PGN 的每一步,包括费用和下一步该看哪一篇。

    示例结果A. Rivera – M. Okafor
    手写记谱单,第 1 至 8 回合
    1. 1e4e5已按规则检查
    2. 2Nf3Nc6已按规则检查
    3. 3Bb5a6需要核对
    4. 4Ba4Nf6已按规则检查

    读出 8 个回合,每一步都按规则检查过。

    预置示例,不是实时识别。

    亲自核对这步标记的着法
    本页目录7
    1. 1为什么手写棋谱是个单独的问题
    2. 2棋盘负责消除歧义
    3. 3颜色的含义
    4. 4哪些情况还是要靠你
    5. 5支持的记谱方式
    6. 6我们在测试中的发现
    7. 7相关内容

    通用的文字识别只认形状。读取棋谱记法需要更多:字母容易混淆、书写匆忙,而且最关键的是——存在一套规则来判定哪些读法根本是可能的。这一页讲的就是从照片到文件之间的这一步。

    为什么手写棋谱是个单独的问题

    涉及的字符集很小,且极易混淆。b 与 6、Q 与 9、0 与 O、f 与 t。通用文本模型没有任何理由偏向某一个;而在着法列表里,一个字符的错误就会悄然变成另一局截然不同却看起来依然合理的对局。

    此外还有人们实际写下的内容。真实的记谱单包含简写(如用 dc 表示兵吃子)、涂改、表示“同上”的箭头、散落在空白边缘的 ep 和 =Q,偶尔还会有记错列的着法。

    棋盘负责消除歧义

    让这个问题变得可行的关键,在于不把记谱单单纯当作普通文字来读。每识别出一步着法,就会在棋盘上走出这一步,而当前局面会限制下一个记号可能是什么。

    • Nbd2 与 Nfd2——通常只有一个合法,另一个在你看到之前就已被排除。
    • dc 不能保留为 dc:根据局面,d 线上通常恰好只有一个兵能够吃子,因此它会展开为 dxc5。
    • 写成 0-0 的易位会被识别为 O-O,因为两个零根本不是合法的着法。
    • 完全不可能发生的着法——马根本走不到那个格子,或者吃了一个不存在的子——会被标为红色,而不会写入你的对局。

    最后这一点才是至关重要的区别。导致非法着法的误读会立刻暴露出来。 你只需核对少数几处带颜色的条目,而无需对着一张自己可能也认不出的记谱单去逐一校对四十回合。

    颜色的含义

    红色是非法着法:该读法在当前局面下走不出来,说明前面有地方出了问题——可能是这一步本身,也可能是更早的某一步导致棋盘处于错误的状态。

    琥珀色是低置信度着法:模型识别出了一些内容,但把握不足以直接确认。编辑器会列出该局面下合法的着法,因此如果 Nbd2 和 Nfd2 均有可能,你在两者之间选择即可,无需自行打字。没有单独的“歧义”类别;只要识别存疑,无论原因是什么,都会显示为琥珀色。

    哪些情况还是要靠你

    有两种情况规则解决不了:

    笃定却合法的误读。 如果 Nbd2 和 Nfd2 都合法,而模型确信了错误的那一步,任何校验都无法告诉你当时真正走的是哪一步。回放棋盘能捕捉到这一点:逐步查看对局,当局面对不上你的记忆时,问题就浮现了。

    记谱单本身记录有误。 如果原记录者漏记了一步,对局就会从那一处开始偏离,而校验标记的是偏离的位置,而不是导致偏离的原因。要修复它,需要回溯到当时的局面——或者去查看对手的那份记谱单。

    修改着法只需点击每步旁边的铅笔按钮,而且完全免费:只有识别本身会消耗积分。修改一步后,后续的对局会从该处重新进行校验。

    支持的记谱方式

    标准代数记谱法(SAN),与 PGN 中的用法一致:KQRBN、兵不带字母、x 表示吃子、O-O 与 O-O-O、+ 与 #、=Q 表示升变,以及用纵线或横线消除歧义。FIDE 自身的惯例略有不同(易位用数字零书写,即 0-0;升变写作 d8Q;x 为可选;附录 C.3 允许使用本国语言的棋子字母)。这些写法扫描都能识别:用德语、西班牙语或意大利语、法语、葡萄牙语、荷兰语、波兰语、捷克语、匈牙利语、土耳其语、俄语或中文棋子字母书写的记谱单,以及用棋子图形符号书写的记谱单,都会在识别时转成英文 SAN;粘贴的着法可以用记谱法转换工具转换,它支持上述除匈牙利语和中文以外的字母。如果你想复习一下,国际象棋记谱法详解涵盖了整个体系,7 个常见记谱错误则介绍了匆忙书写时容易出现的各种纰漏。

    不支持描述式记谱法(P-K4、N-KB3)。以这种方式书写的着法会按扫描原样显示,但不会转换为代数记谱,不会被重放,也不会被校验,因此旧记谱单在扫描前需要先进行转写。描述记谱法与代数记谱法介绍了具体方法。

    我们的实测

    我们在测试中的发现

    我们在 2026 年 9 月 30 日未登录状态下测试了记谱处理功能。在 /dashboard/scan 上传图片无需账号即可进行,但识别功能需要登录(按钮显示“登录并识别 · 2 积分”;新账号可获赠 10 个免费积分)。以下是免费校验器对相同记法的处理情况。

    为了探究系统如何处理模棱两可的记谱,我们使用 1858 年歌剧院对局(Opera Game)自制了一份演示记谱单进行检验。其中包含了几种常见的视觉识别难点:7...Qe7 因顶端横线较浅被误读为 Qe1、9...b5 因竖线过短被误读为 65、14.Rd1 中 Rd8 被划掉,以及用数字书写的易位 0-0-0。

    演示记谱单上的歧义行,展示了数字零易位及模棱两可的标记

    基于浏览器的 ScanChess PGN 校验器(无需账号)声明,像 0-0、dc 和 e8Q 这样的简写会自动规范化。当我们输入被误读的 7... Qe1 时,校验器提示“7... Qe1 为非法着法”“在此之前有 13 着合法”,给出了包含 Qe7 的“此处的合法着法”列表,并显示了带有对应 FEN 字符串的“停止时的局面”棋盘。

    ScanChess PGN 校验器标记非法着法 Qe1 并给出合法着法建议

    我们还测试了使用本国语言棋子字母的变体记谱法。根据 FIDE Laws of Chess 规则 C.3,棋手可以用自己母语的棋子字母来记录着法(例如德语中用 S 代表马、L 代表象、T 代表车、D 代表后、K 代表王)。当我们把一份 1973 年记谱单上的德语着法输入 PGN 校验器(1. c4 Sf6 2. Sc3 ...)时,它在第 1 回合就停住了,并提示“1... Sf6 为非法着法”。该校验器只认英文棋子字母,所以要先翻译:用国际象棋记谱翻译器把着法转成英文 SAN(1. c4 Nf6 2. Nc3 ...),校验器和 Lichess 就都能读了。Lichess 的表现更差:它报错 "Can't play c3 at move 2, ply 3",比真正的问题所在滞后了一步,显然是因为它将 Sf6 和 Sc3 当作了兵的着法。以上测的是校验器。扫描器在识别记谱单时会自行转换本国棋子字母(见上文),不过这张 1973 年的记谱单我们还没有用扫描器跑过。

    ScanChess PGN 校验器将德语棋子字母 Sf6 标记为非法着法

    在我们公开的测试中,扫描器在一张真实手写记谱单上 45 步中有 43 步一次读对(3 张标准代数记谱单合计 143 步中 141 步,其中 2 张是打印的测试单);空白记谱单上没有编造任何着法。

    查看测试的每一步

    相关内容

    常见问题

    简写能识别吗?

    能。像表示兵吃子的 dc,系统会根据棋盘局面展开成 dxc5 这样的标准 SAN。

    旧式的描述记谱法怎么办?

    不支持。P-K4 这类着法会按原样显示,但不会转换、不会重放,也不做校验。请先把棋谱改写成代数记谱再扫描。

    读错了怎么发现?

    每一步读出来都会在棋盘上重放。在当前局面下不合法的着法标红;模型没把握的着法标琥珀色,编辑器里会给出合法的备选着法。

    注册即送 10 个免费积分,无需绑卡。扫描费用和 Pro 包含的内容见 定价

    ScanChess 的其他用法