數位墨水辨識

透過 ML Kit 的數位墨水辨識 API,您可以辨識手寫文字、將數百種語言的手勢分類,也可以將草圖分類。數位墨水辨識 API 採用與 Gboard、Google 翻譯和 Quick, Draw! 遊戲相同的技術,能夠辨識手寫功能。

數位墨水辨識提供以下功能:

  • 不必再用虛擬鍵盤打字,直接在畫面上書寫。如此一來,使用者就能繪製鍵盤上沒有的字元,例如 改成 大寫、大寫 或 BR 表示拉丁字母鍵盤。
  • 使用手勢執行基本文字作業 (瀏覽、編輯、選取等)。
  • 辨識手繪形狀和表情符號。

數位墨水辨識功能支援使用者在螢幕上畫的筆跡。如需讀取相機拍攝的圖片中的文字,請使用 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 傳送給英文語言的辨識器時,系統會傳回多個可能的轉錄內容,其中包含五或六個字元。按照可信度排序:

RecognitionResult
辨識候選者 #1 手 W
辨識候選者 #2 手德
辨識候選者 #3 Hardw
辨識候選者 #4 手魯
辨識候選者 #5 手我們

手勢

手勢分類器會將墨水筆劃分成下列九種手勢類別的其中一種。

手勢 範例
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 Stand (U+1f606)