检测和提取MRTD——Android Java

本教程展示了如何创建一个MRTD提取和处理应用程序使用LEADTOOLS Android SDK。

概述
总结 本教程介绍了如何使用LEADTOOLS MRTD Android SDK技术的Java应用程序。
完成时间 30分钟
Android工作室项目 下载教程项目(156 KB)
平台 Android (Java)
IDE Android工作室
运行许可证 下载LEADTOOLS
试试用另一种语言

所需的知识

熟悉创建一个项目的基本步骤和使用OcrEngine通过审查添加引用和设置一个许可证与OCR Recognize-Text-from-Images教程,在工作之前检测和提取MRTD——Android Java教程。

创建项目并添加Maven的构件

从项目中创建的副本显示图像的图像查看器教程。如果你没有这个项目,按照这个教程中的步骤创建它。

确保你添加所需的工件到项目中。

需要哪些LEADTOOLS库的完整列表对于您的应用程序,请参考文件包含在您的应用程序

设置许可文件

许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。详情,包括教程为不同的平台,请参考设置一个运行时许可

有两种类型的运行时许可证:

设置应用程序的布局

Project Explorer窗口,打开activity_main.xml文件中发现的应用程序/ src / main / res /布局目录中。以下RasterImageViewer XML代码添加一个新的运行OCR按钮。

<LinearLayout xmlns: android = " http://schemas.android.com/apk/res/android "android: layout_width = " match_parent "android: layout_height = " match_parent "android:取向=“垂直”android: weightSum = " 1.0 "android:背景= " @android:颜色/黑”><按钮android: layout_width = " wrap_content "android: layout_height = " wrap_content "android:文本= "选择画廊”的形象android: onClick = " onSelectImage " /><leadtools.controls.RasterImageViewerandroid: id =“@ + id / rasterimageviewer”android: layout_width = " match_parent "android: layout_height = " 0 dp”android: layout_weight = " .96点"android:背景=“@android:颜色/白色/><按钮android: id =“@ + id /按钮”android: layout_width = " wrap_content "android: layout_height = " wrap_content "android:文本= "读MRTD "android: onClick = " readMRTD " /><LinearLayout />

添加MRTD检测和提取代码

MainActivity.java前,添加以下导入语句MainActivity类。

Java
进口leadtools.forms.commands.MRTDErrors;进口leadtools.forms.commands.MRTDReader;

添加以下的成员变量MainActivity类。

Java
私人MRTDReader MRTDReader;

更新onCreate ()函数如下所示。

Java
@Override受保护的无效onCreate(包savedInstanceState) {超级.onCreate (savedInstanceState);setContentView (R.layout.activity_main);mrtdReader =MRTDReader ();}

创建一个readMRTD(查看v)函数来检测如果MRTD或MRZ。如果存在一个解析值。

Java
公共无效readMRTD(查看v){RasterImage图像= mViewer.getImage ();如果(图片! =){试一试{mrtdReader.setOcrEngine (ocrEngine);mrtdReader.processImage(图片);{/ /如果(! (mrtdReader.getBounds () .isEmpty ()))如果(mrtdReader.getErrors () = = MRTDErrors.NO_ERROR.getValue ())(var val: mrtdReader.getResults () .entrySet ()){.toString sb.append (val.getKey () ());.getReadableValue sb.append (val.getValue () ());.getMrzCharacters sb.append (val.getValue () ());.isValid sb.append (val.getValue () ()));sb.append (“\ n \ n”);}如果(sb.length () ! = 0){Toast.makeText (Toast.LENGTH_LONG sb.toString()),告诉();}其他的{Toast.makeText (,“不检测发现:“+ mrtdReader.getErrors ()、Toast.LENGTH_LONG),告诉();}}}(异常交货){Toast.makeText (Toast.LENGTH_LONG ex.getMessage()),告诉();}}其他的{Toast.makeText (,“没有加载文件”Toast.LENGTH_LONG),告诉();}}

运行该项目

新闻Shift + F10运行该应用程序。遵循以下步骤来测试应用程序。

总结

本教程演示了如何使用MRTDReader类来读取MRZ和MRTD数据。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2023领先的技术公司。保留所有权利。