借助机器学习套件的数字墨水识别 API,您可以识别手写文本,在数百个数字平台上对手势进行分类,也可以对草图进行分类。数字墨水识别 API 采用与 Gboard、Google 翻译和 Quick, Draw! 游戏中的手写识别技术相同的技术。
通过数字墨水识别,您可以:
- 直接在屏幕上输入内容,而不必使用虚拟键盘输入。这样一来,用户便可以用键盘输入键盘上没有的字符,例如拉丁语键盘。
- 使用手势执行基本文本操作(导航、编辑、选择等)。
- 识别手绘形状和表情符号。
数字墨水识别可与用户在屏幕上描画的笔触配合使用。如果您需要读取使用相机拍摄的图片中的文本,请使用 Text Recognition API。
数字墨水识别完全离线,支持 Android 和 iOS。
主要功能
- 将手写文本转换为 Unicode 字符序列
- 近乎实时地在设备上运行
- 用户的手写内容会保留在设备上,无需网络连接即可执行识别
- 支持 300 多种语言和 25 多种书写系统,请参阅所支持语言的完整列表
- 支持通过
-x-gesture
扩展对这些语言进行手势分类
- 支持通过
- 识别表情符号和基本形状
- 根据需要动态下载语言包,使设备存储空间保持在较低水平
识别器将 Ink
对象作为输入。Ink
是用户在屏幕上所写内容的矢量表示:一系列描边,其中的每个坐标都是一个包含时间信息的坐标列表,称为接触点。当用户按下触控笔或手指按下时,笔画开始移动,抬起手指时,笔画结束。系统会将 Ink
传递给识别器,该识别器会返回一个或多个可能的识别结果,并显示置信度水平。
示例
英语手写
以下图片显示的是用户在屏幕上绘制的内容。右侧的图片是对应的 Ink
对象。它包含带红点的描边,代表每个描边中的接触点。
有 4 种描边。Ink
对象中的前两次描边如下所示:
墨水 | ||
---|---|---|
描边 1 | x
|
392、391、389、287... |
y
|
52、60、76、97... | |
t
|
0、37、56、75... | |
描边 2 | x
|
497、494、493、490... |
y
|
167、165、165、165... | |
t
|
694、742、751、770... | |
... |
当您将此 Ink
发送给英语识别器时,它会返回几个可能的转录内容,其中包含五或六个字符。它们的置信度较低:
RecognitionResult | |
---|---|
认可候选人 1 | 手 |
认可候选人 2 | 手动 |
候选识别 3 | 硬 |
候选识别 4 | Handu |
候选识别 #5 | Handwe |
手势
手势分类器将墨水描边分为下面列出的九种手势类之一。
arch:above arch:below |
![]() |
caret:above caret:below |
![]() |
circle |
![]() |
![]() |
|
scribble |
![]() |
strike |
![]() |
verticalbar |
![]() |
writing |
![]() |
表情符号素描
以下图片显示的是用户在屏幕上绘制的内容。右侧的图片是对应的 Ink
对象。它包含带红点的描边,代表每个描边中的接触点。
Ink
对象包含六笔画。
墨水 | ||
---|---|---|
描边 1 | x
|
269、266、262、255... |
y
|
40、40、40、41... | |
t
|
0、36、56、75... | |
描边 2 | x
|
179、182、183、185... |
y
|
157、158、159、160... | |
t
|
2475、2522、2531、2541... | |
... |
将此 Ink
发送到表情符号识别器时,您会获得几种可能的转录,这些置信度按置信度降序排列:
RecognitionResult | |
---|---|
认可候选人 1 | ⇒ (U+1f62d) |
认可候选人 2 | 😝? (U+1f605) |
候选识别 3 | 😹? (U+1f639) |
候选识别 4 | 😄? (U+1f604) |
候选识别 #5 | 😝? (U+1f606) |