识别用户的手写内容

借助 Handwriting Recognition API,您可以实时识别手写输入中的文字。

什么是 Handwriting Recognition API?

借助手写识别 API,您可以将用户的手写内容(墨迹)转换为文本。 某些操作系统长期以来一直包含此类 API,借助这项新功能,您的 Web 应用终于可以使用此功能了。转化直接在用户设备上进行,即使在离线模式下也能正常运行,并且无需添加任何第三方库或服务。

此 API 实现所谓的“在线”或近乎实时的识别。这意味着,系统会在用户绘制手写输入内容时,通过捕获和分析单个笔画来识别手写输入内容。与“离线”程序(例如光学字符识别 (OCR))不同,后者仅知道最终产品,而在线算法可以提供更高的准确度,因为它们会利用其他信号,例如各个墨迹的时间顺序和压力。

手写识别 API 的建议用例

使用示例包括:

  • 用户希望捕获手写笔记并将其翻译成文字的记事应用。
  • 用户因时间限制而可以使用触控笔或手指输入的表单应用。
  • 需要填写字母或数字的游戏,例如填字游戏、吊死鬼游戏或数独。

当前状态

手写识别 API 可从 Chromium 99 开始使用。

如何使用手写识别 API

功能检测

通过检查 navigator 对象上是否存在 createHandwritingRecognizer() 方法来检测浏览器支持情况:

if ('createHandwritingRecognizer' in navigator) {
  // 🎉 The Handwriting Recognition API is supported!
}

核心概念

无论输入方式(鼠标、触控、触控笔)如何,手写识别 API 都能将手写输入内容转换为文本。该 API 包含四个主要实体:

  1. 表示指针在特定时间的位置。
  2. 一次笔画由一个或多个点组成。笔画的记录会在用户放下指针(即点击鼠标主按钮,或用触控笔或手指触摸屏幕)时开始,并在用户抬起指针时结束。
  3. 绘画由一个或多个笔画组成。实际识别在此级别进行。
  4. 识别器配置了预期的输入语言。用于创建应用了识别器配置的绘图实例。

这些概念以特定接口和字典的形式实现,我将在下文中简要介绍。