數位墨水辨識

您可以透過 ML Kit 的數位墨水辨識 API,在數百種語言的數位介面上辨識手寫文字,並將手勢分類,還能將草圖分類。數位墨水辨識 API 使用的技術與 Gboard、Google 翻譯以及 Quick, Draw! 遊戲的手寫辨識技術相同。

數位墨水辨識功能可讓你:

  • 在螢幕上輸入內容,無需在虛擬鍵盤上輸入內容。可讓使用者繪製鍵盤上無法使用的字元,例如 Ø、 Arial 或 son 的拉丁字母鍵盤。
  • 使用手勢執行基本文字作業 (瀏覽、編輯、選取等)。
  • 辨識手繪形狀和表情符號。

數位墨水辨識功能可處理使用者在畫面上繪製的筆劃。如果您需要讀取相機所拍攝圖片中的文字,請使用 Text Recognition API

數位墨水辨識功能可完全離線運作,且支援 Android 和 iOS 裝置。

iOS Android

主要功能

  • 將手寫文字轉換為萬國碼 (Unicode) 字元序列
  • 以近乎即時的速度在裝置上執行
  • 使用者的手寫內容會保留在裝置上,系統進行網路時,不會產生任何網路連線
  • 支援 300 多種語言和 25 種以上的書寫系統,請參閱支援語言的完整清單
  • 辨識表情符號和基本形狀
  • 視需要動態下載語言套件,避免裝置儲存空間不足

辨識器會將 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 傳送至英文語言的辨識器時,會傳回數個可能包含 5 或 6 個字元的語音轉錄內容。這些資料欄的建立順序是按照信賴度排序:

RecognitionResult
辨識候選者 #1
辨識候選者 #2 Handrw
辨識候選者 #3 硬式
辨識候選者 #4 Handu
辨識候選者 #5 Handwe

手勢

手勢分類器會將墨筆分類為下列九種手勢類別之一。

手勢 示例
arch:above
arch:below
caret:above
caret:below
circle
corner:downleft
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)