API การจดจำหมึกดิจิทัลของ ML Kit ช่วยให้คุณจดจำข้อความที่เขียนด้วยลายมือและจัดประเภทท่าทางสัมผัสบนพื้นผิวดิจิทัลในหลายร้อยภาษา รวมถึงจำแนกภาพร่างด้วย API การจดจำหมึกดิจิทัลใช้เทคโนโลยีเดียวกับที่ขับเคลื่อนการจดจำลายมือใน Gboard, Google แปลภาษาและเกม Quick, Draw!
การจดจำหมึกแบบดิจิทัลช่วยให้คุณทำสิ่งต่อไปนี้ได้
- เขียนบนหน้าจอแทนการพิมพ์บนแป้นพิมพ์เสมือน ซึ่งช่วยให้ผู้ใช้สามารถวาดอักขระที่ไม่พร้อมใช้งานบนแป้นพิมพ์ได้ เช่น ệ, ¡ หรือ 森 สำหรับแป้นพิมพ์ตัวอักษรละติน
 - ดำเนินการเกี่ยวกับข้อความพื้นฐาน (การนำทาง การแก้ไข การเลือก และอื่นๆ) โดยใช้ท่าทางสัมผัส
 - จดจำรูปร่างและอีโมจิที่วาดด้วยมือ
 
การจดจำหมึกดิจิทัลใช้งานได้กับเส้นที่ผู้ใช้วาดบนหน้าจอ หากต้องการอ่านข้อความจากรูปภาพที่ถ่ายด้วยกล้อง ให้ใช้ Text Recognition API
การจดจำหมึกดิจิทัลทำงานแบบออฟไลน์ได้เต็มรูปแบบและรองรับ Android และ iOS
ความสามารถหลัก
- แปลงข้อความที่เขียนด้วยลายมือเป็นลำดับอักขระ Unicode
 - ทำงานในอุปกรณ์ได้แบบเกือบเรียลไทม์
 - การเขียนด้วยลายมือของผู้ใช้จะอยู่ในอุปกรณ์และมีการจดจำโดยไม่ต้องมีการเชื่อมต่อเครือข่าย
 - รองรับกว่า 300 ภาษาและระบบการเขียนกว่า 25 ระบบ ดู
รายชื่อภาษาทั้งหมดที่รองรับ
- รองรับการจัดประเภทท่าทางสัมผัสสำหรับภาษาเหล่านี้ผ่านส่วนขยาย 
-x-gesture 
 - รองรับการจัดประเภทท่าทางสัมผัสสำหรับภาษาเหล่านี้ผ่านส่วนขยาย 
 - จดจำอีโมจิและรูปทรงพื้นฐาน
 - ลดพื้นที่เก็บข้อมูลในอุปกรณ์โดยดาวน์โหลดแพ็กภาษาแบบไดนามิกตามต้องการ
 
เครื่องมือจดจำจะรับออบเจ็กต์ Ink เป็นอินพุต Ink คือการแสดงเวกเตอร์ของสิ่งที่ผู้ใช้เขียนบนหน้าจอ ซึ่งก็คือลำดับของเส้น แต่ละเส้นเป็นรายการพิกัดที่มีข้อมูลเวลาที่เรียกว่าจุดสัมผัส เส้นโครงร่างจะเริ่มขึ้นเมื่อผู้ใช้วางสไตลัสหรือนิ้วลงและสิ้นสุดเมื่อยกขึ้น มีการส่ง Ink ไปยังโปรแกรมจดจำ ซึ่งจะแสดงผลลัพธ์การจดจำที่เป็นไปได้อย่างน้อย 1 รายการพร้อมระดับความเชื่อมั่น
ตัวอย่าง
การเขียนด้วยลายมือภาษาอังกฤษ
รูปภาพด้านซ้ายด้านล่างแสดงสิ่งที่ผู้ใช้วาดบนหน้าจอ รูปภาพทางด้านขวาคือออบเจ็กต์ Ink ที่ตรงกัน โดยประกอบด้วยเส้นที่มีจุดสีแดง
ซึ่งแสดงจุดสัมผัสภายในแต่ละเส้น
    

มี 4 สโตรก เส้น 2 เส้นแรกในออบเจ็กต์ 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 | Handw | 
| ตัวเลือกที่ยอมรับ #2 | Handrw | 
| ตัวเลือกที่ยอมรับ #3 | Hardw | 
| ตัวเลือกที่ยอมรับ #4 | แฮนด์ดู | 
| ตัวเลือกที่ยอมรับ #5 | Handwe | 
ท่าทางสัมผัส
ตัวแยกประเภทท่าทางสัมผัสจะจัดประเภทเส้นหมึกเป็น 1 ใน 9 คลาสท่าทางสัมผัสตามรายการด้านล่าง
arch:abovearch:below | 
    ![]()  | 
  
caret:abovecaret:below | 
    ![]()  | 
  
circle | 
    ![]()  | 
  
![]()  | 
  |
scribble | 
    ![]()  | 
  
strike | 
    ![]()  | 
  
verticalbar | 
    ![]()  | 
  
writing | 
    ![]()  | 
  
ภาพร่างอีโมจิ
รูปภาพด้านซ้ายด้านล่างแสดงสิ่งที่ผู้ใช้วาดบนหน้าจอ รูปภาพทางด้านขวาคือออบเจ็กต์ Ink ที่ตรงกัน โดยประกอบด้วยเส้นที่มีจุดสีแดง
ซึ่งแสดงจุดสัมผัสภายในแต่ละเส้น
    

วัตถุ Ink มี 6 เส้น
 
 
 
 
 
 
| หมึก | ||
|---|---|---|
| เส้นที่ 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) | 
    






