透過 ML Kit 的數位墨水辨識 API,您可以辨識手寫文字、將數百種語言的手勢分類,也可以將草圖分類。數位墨水辨識 API 採用與 Gboard、Google 翻譯和 Quick, Draw! 遊戲相同的技術,能夠辨識手寫功能。
數位墨水辨識提供以下功能:
- 不必再用虛擬鍵盤打字,直接在畫面上書寫。如此一來,使用者就能繪製鍵盤上沒有的字元,例如 改成 大寫、大寫 或 BR 表示拉丁字母鍵盤。
- 使用手勢執行基本文字作業 (瀏覽、編輯、選取等)。
- 辨識手繪形狀和表情符號。
數位墨水辨識功能支援使用者在螢幕上畫的筆跡。如需讀取相機拍攝的圖片中的文字,請使用 Text Recognition API。
數位墨水辨識功能可完全離線運作,且支援 Android 和 iOS 裝置。
主要功能
- 將手寫文字轉換為萬國碼 (Unicode) 字元序列
- 在裝置上以近乎即時的方式執行
- 使用者的手寫內容會留在裝置上,辨識作業會在沒有網路連線的情況下執行
- 支援超過 300 種語言和 25 種以上的書寫系統。請參閱支援的語言完整清單
- 透過 -x-gesture擴充功能支援這些語言的手勢分類
 
- 透過 
- 辨識表情符號和基本形狀
- 視需要動態下載語言套件,藉此減少裝置端儲存空間
辨識工具接受 Ink 物件做為輸入。Ink 是一種向量表示法,呈現使用者在畫面上所寫的內容:一串「筆劃」,每筆都是一個座標清單,其中包含稱為「接觸點」的時間資訊。使用者將觸控筆或手指朝下時,筆觸便會開始,並在使用者舉起時結束。Ink 會傳遞至辨識器,辨識器會傳回一或多個可能的辨識結果,且信賴水準為信賴水準。
範例
英文手寫
左下方圖片顯示使用者在畫面上繪製的內容。右方的圖片是對應的 Ink 物件。其中包含的筆劃有紅色圓點,代表每個筆劃的觸控點。
 
    

有四種筆劃。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 | 手 W | 
| 辨識候選者 #2 | 手德 | 
| 辨識候選者 #3 | Hardw | 
| 辨識候選者 #4 | 手魯 | 
| 辨識候選者 #5 | 手我們 | 
手勢
手勢分類器會將墨水筆劃分成下列九種手勢類別的其中一種。
| arch:abovearch:below |  | 
| caret:abovecaret: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 | Stand (U+1f606) | 
