บทนำ Read MRZ
Read MRZ เป็นแอปพลิเคชั่นที่จดจำโซนที่เครื่องอ่านได้ (MRZ) สองบรรทัดโดยใช้กล้องของอุปกรณ์
เพียงวางเส้น MRZ ในมุมมองของกล้อง เพื่อให้ปรากฏภายในสี่เหลี่ยมเส้นประขาวดำในหน้าต่างแอปพลิเคชัน
เครื่องหมายค้นหารูปตัว T สีขาวแสดงพื้นที่ซึ่งแอปพลิเคชันตรวจพบว่ามีเส้น MRZ คุณอาจแก้ไขตำแหน่งของเส้น MRZ ที่เกี่ยวข้องกับสี่เหลี่ยมนำทาง เพื่อให้เครื่องหมายการค้นหาอยู่ในแนวเดียวกันและเปลี่ยนเป็นสีเขียว
สี่เหลี่ยมนำทางจะเปลี่ยนเป็นสีเขียวเมื่อแอปพลิเคชันพบเส้นและพยายามจดจำอักขระในเส้นเหล่านั้น
หากแอปพลิเคชันจดจำอักขระทั้งหมดได้สำเร็จและพบโครงสร้าง MRZ ในบรรทัดที่นำเสนอ จากนั้นบรรทัด MRZ ที่รู้จักจะปรากฏในฟิลด์ที่เกี่ยวข้องในหน้าต่างแอปพลิเคชัน
หากคุณต้องการหยุดกระบวนการจดจำชั่วคราวเมื่อใดก็ได้ หรือเริ่มต้นใหม่ เพียงกดปุ่ม "เล่น/หยุดชั่วคราว"
หากคุณเป็นนักพัฒนาที่ต้องการใช้ผลการจดจำในแอปพลิเคชันของคุณ เพียงเปิดแอปพลิเคชันอ่าน MRZ จากแอปพลิเคชันของคุณผ่าน startActivityForResult() โดยมีเจตนาโดยนัย
"com.readmrz.conditionalIntents.uniqueActions.READ_MRZ" และเมื่อการจดจำเสร็จสิ้น ให้กดปุ่ม "ส่งคืนผลลัพธ์" ในอินเทอร์เฟซของแอปพลิเคชัน Read MRZ
โปรดทราบว่าปุ่ม "ส่งคืนผลลัพธ์" จะปรากฏเฉพาะในอินเทอร์เฟซของแอปพลิเคชัน หากแอปพลิเคชันนั้นเปิดใช้งานโดยมีเจตนาโดยปริยายจากแอปพลิเคชันอื่น
คุณสามารถรับผลลัพธ์ของการรับรู้ในแอปพลิเคชันของคุณได้ในการเรียกกลับ onActivityResult() ผ่านการเรียกเมธอด getStringArrayExtra() ของความตั้งใจที่เป็นผลลัพธ์ด้วยชื่อของข้อมูลเพิ่มเติม "บรรทัด MRZ" ผลลัพธ์จะเป็นอาร์เรย์ของสองสตริง
หากปุ่ม "ส่งคืนผลลัพธ์" ถูกกดก่อนที่จะดำเนินการรับรู้สำเร็จ ดังนั้น "resultCode" ใน onActivityResult() การโทรกลับจะถูกตั้งค่าเป็น "RESULT_CANCELED" และไม่มีความตั้งใจที่เป็นผลลัพธ์
ดูข้อมูลโค้ดด้านล่างสำหรับรายละเอียดเกี่ยวกับวิธีใช้คุณลักษณะนี้
ค่า READ_MRZ_APP_REQUEST_CODE = 145
สนุก startReadMRZAppForResult() {
เจตนา = เจตนา ("com.readmrz.conditionalIntents.uniqueActions.READ_MRZ")
startActivityForResult (เจตนา READ_MRZ_APP_REQUEST_CODE)
}
แทนที่ความสนุกสนาน onActivityResult (requestCode: Int, resultCode: Int, resultIntent: Intent?) {
super.onActivityResult (requestCode, resultCode, resultIntent)
ถ้า ((requestCode == READ_MRZ_APP_REQUEST_CODE) && (resultCode == RESULT_OK)) {
ส่งผลให้?.getStringArrayExtra("เส้น MRZ")?.also {
ค่า mrzUpperLine = มัน [0]
ค่า mrzLowerLine = มัน [1]
}
}
}
เพียงวางเส้น MRZ ในมุมมองของกล้อง เพื่อให้ปรากฏภายในสี่เหลี่ยมเส้นประขาวดำในหน้าต่างแอปพลิเคชัน
เครื่องหมายค้นหารูปตัว T สีขาวแสดงพื้นที่ซึ่งแอปพลิเคชันตรวจพบว่ามีเส้น MRZ คุณอาจแก้ไขตำแหน่งของเส้น MRZ ที่เกี่ยวข้องกับสี่เหลี่ยมนำทาง เพื่อให้เครื่องหมายการค้นหาอยู่ในแนวเดียวกันและเปลี่ยนเป็นสีเขียว
สี่เหลี่ยมนำทางจะเปลี่ยนเป็นสีเขียวเมื่อแอปพลิเคชันพบเส้นและพยายามจดจำอักขระในเส้นเหล่านั้น
หากแอปพลิเคชันจดจำอักขระทั้งหมดได้สำเร็จและพบโครงสร้าง MRZ ในบรรทัดที่นำเสนอ จากนั้นบรรทัด MRZ ที่รู้จักจะปรากฏในฟิลด์ที่เกี่ยวข้องในหน้าต่างแอปพลิเคชัน
หากคุณต้องการหยุดกระบวนการจดจำชั่วคราวเมื่อใดก็ได้ หรือเริ่มต้นใหม่ เพียงกดปุ่ม "เล่น/หยุดชั่วคราว"
หากคุณเป็นนักพัฒนาที่ต้องการใช้ผลการจดจำในแอปพลิเคชันของคุณ เพียงเปิดแอปพลิเคชันอ่าน MRZ จากแอปพลิเคชันของคุณผ่าน startActivityForResult() โดยมีเจตนาโดยนัย
"com.readmrz.conditionalIntents.uniqueActions.READ_MRZ" และเมื่อการจดจำเสร็จสิ้น ให้กดปุ่ม "ส่งคืนผลลัพธ์" ในอินเทอร์เฟซของแอปพลิเคชัน Read MRZ
โปรดทราบว่าปุ่ม "ส่งคืนผลลัพธ์" จะปรากฏเฉพาะในอินเทอร์เฟซของแอปพลิเคชัน หากแอปพลิเคชันนั้นเปิดใช้งานโดยมีเจตนาโดยปริยายจากแอปพลิเคชันอื่น
คุณสามารถรับผลลัพธ์ของการรับรู้ในแอปพลิเคชันของคุณได้ในการเรียกกลับ onActivityResult() ผ่านการเรียกเมธอด getStringArrayExtra() ของความตั้งใจที่เป็นผลลัพธ์ด้วยชื่อของข้อมูลเพิ่มเติม "บรรทัด MRZ" ผลลัพธ์จะเป็นอาร์เรย์ของสองสตริง
หากปุ่ม "ส่งคืนผลลัพธ์" ถูกกดก่อนที่จะดำเนินการรับรู้สำเร็จ ดังนั้น "resultCode" ใน onActivityResult() การโทรกลับจะถูกตั้งค่าเป็น "RESULT_CANCELED" และไม่มีความตั้งใจที่เป็นผลลัพธ์
ดูข้อมูลโค้ดด้านล่างสำหรับรายละเอียดเกี่ยวกับวิธีใช้คุณลักษณะนี้
ค่า READ_MRZ_APP_REQUEST_CODE = 145
สนุก startReadMRZAppForResult() {
เจตนา = เจตนา ("com.readmrz.conditionalIntents.uniqueActions.READ_MRZ")
startActivityForResult (เจตนา READ_MRZ_APP_REQUEST_CODE)
}
แทนที่ความสนุกสนาน onActivityResult (requestCode: Int, resultCode: Int, resultIntent: Intent?) {
super.onActivityResult (requestCode, resultCode, resultIntent)
ถ้า ((requestCode == READ_MRZ_APP_REQUEST_CODE) && (resultCode == RESULT_OK)) {
ส่งผลให้?.getStringArrayExtra("เส้น MRZ")?.also {
ค่า mrzUpperLine = มัน [0]
ค่า mrzLowerLine = มัน [1]
}
}
}
เพิ่มเติม