Read MRZ 簡介
Read MRZ 是一款使用設備相機識別兩行機器可讀區 (MRZ) 的應用程序。
只需將機讀區線放置在攝像頭的視野中,這樣它就會出現在應用程序窗口中的黑白虛線引導矩形內。
白色 T 形搜索標記顯示應用程序檢測到 MRZ 線存在的區域。您可以更正機讀區線相對於引導矩形的位置,以便搜索標記與它們對齊並變為綠色。
當應用程序找到線條並嘗試識別其中的字符時,引導矩形將變為綠色。
如果應用程序成功識別所有字符並在顯示的行中找到機讀區結構,則識別出的機讀區行將出現在應用程序窗口的相應字段中。
如果您想隨時暫停識別過程或重新開始,只需按“播放/暫停”按鈕即可。
如果您是開發人員,想要在應用程序中使用識別結果,只需通過 startActivityForResult() 隱式意圖從您的應用程序啟動“讀取機讀區”應用程序
“com.readmrz.conditionalIntents.uniqueActions.READ_MRZ”,識別完成後,按“讀取 MRZ”應用程序界面中的“返回結果”按鈕。
請注意,只有當應用程序是由另一個應用程序以隱式意圖啟動時,“返回結果”按鈕才會出現在應用程序的界面中。
您可以通過使用額外數據“MRZ 線”的名稱調用結果意圖的 getStringArrayExtra() 方法,在 onActivityResult() 回調中獲取應用程序中的識別結果。結果將是一個由兩個字符串組成的數組。
如果在成功識別之前按下“返回結果”按鈕,則 onActivityResult() 回調中的“resultCode”將設置為“RESULT_CANCELED”,並且不會提供結果意圖。
有關如何使用此功能的詳細信息,請參閱下面的代碼片段。
值 READ_MRZ_APP_REQUEST_CODE = 145
有趣的startReadMRZAppForResult() {
val 意圖 = Intent("com.readmrz.conditionalIntents.uniqueActions.READ_MRZ")
startActivityForResult(意圖,READ_MRZ_APP_REQUEST_CODE)
}
覆蓋 fun onActivityResult(requestCode: Int, resultCode: Int, resultIntent: Intent?) {
super.onActivityResult(請求代碼,結果代碼,resultingIntent)
if ((requestCode == READ_MRZ_APP_REQUEST_CODE) && (resultCode == RESULT_OK)) {
resultIntent?.getStringArrayExtra("機讀區線")?.also {
val mrzUpperLine = it[0]
val mrzLowerLine = it[1]
}
}
}
只需將機讀區線放置在攝像頭的視野中,這樣它就會出現在應用程序窗口中的黑白虛線引導矩形內。
白色 T 形搜索標記顯示應用程序檢測到 MRZ 線存在的區域。您可以更正機讀區線相對於引導矩形的位置,以便搜索標記與它們對齊並變為綠色。
當應用程序找到線條並嘗試識別其中的字符時,引導矩形將變為綠色。
如果應用程序成功識別所有字符並在顯示的行中找到機讀區結構,則識別出的機讀區行將出現在應用程序窗口的相應字段中。
如果您想隨時暫停識別過程或重新開始,只需按“播放/暫停”按鈕即可。
如果您是開發人員,想要在應用程序中使用識別結果,只需通過 startActivityForResult() 隱式意圖從您的應用程序啟動“讀取機讀區”應用程序
“com.readmrz.conditionalIntents.uniqueActions.READ_MRZ”,識別完成後,按“讀取 MRZ”應用程序界面中的“返回結果”按鈕。
請注意,只有當應用程序是由另一個應用程序以隱式意圖啟動時,“返回結果”按鈕才會出現在應用程序的界面中。
您可以通過使用額外數據“MRZ 線”的名稱調用結果意圖的 getStringArrayExtra() 方法,在 onActivityResult() 回調中獲取應用程序中的識別結果。結果將是一個由兩個字符串組成的數組。
如果在成功識別之前按下“返回結果”按鈕,則 onActivityResult() 回調中的“resultCode”將設置為“RESULT_CANCELED”,並且不會提供結果意圖。
有關如何使用此功能的詳細信息,請參閱下面的代碼片段。
值 READ_MRZ_APP_REQUEST_CODE = 145
有趣的startReadMRZAppForResult() {
val 意圖 = Intent("com.readmrz.conditionalIntents.uniqueActions.READ_MRZ")
startActivityForResult(意圖,READ_MRZ_APP_REQUEST_CODE)
}
覆蓋 fun onActivityResult(requestCode: Int, resultCode: Int, resultIntent: Intent?) {
super.onActivityResult(請求代碼,結果代碼,resultingIntent)
if ((requestCode == READ_MRZ_APP_REQUEST_CODE) && (resultCode == RESULT_OK)) {
resultIntent?.getStringArrayExtra("機讀區線")?.also {
val mrzUpperLine = it[0]
val mrzLowerLine = it[1]
}
}
}
展開