借助 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 包含四个主要实体:
- 点表示指针在特定时间的位置。
- 一次笔画由一个或多个点组成。笔画的记录会在用户放下指针(即点击鼠标主按钮,或用触控笔或手指触摸屏幕)时开始,并在用户抬起指针时结束。
- 绘画由一个或多个笔画组成。实际识别在此级别进行。
- 识别器配置了预期的输入语言。用于创建应用了识别器配置的绘图实例。
这些概念以特定接口和字典的形式实现,我将在下文中简要介绍。