检测和提取MRTD - Android Java

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

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

所需的知识

通过复习OcrEngine,熟悉创建项目和使用OcrEngine的基本步骤添加引用和设置License而且使用OCR从图像中识别文本教程,在工作之前检测和提取MRTD - Android Java教程。

创建项目并添加Maven工件

中创建的项目的副本开始在图像查看器中显示图像教程。如果您没有该项目,请按照该教程中的步骤创建它。

确保您添加了所需的内容工件对项目。

有关您的应用程序需要哪些LEADTOOLS库的完整列表,请参阅你的申请中包含的文件

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

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

设置应用程序布局

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:text="Select Image From Gallery"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时,在。之前添加以下import语句MainActivity类。

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

属性中添加以下成员变量MainActivity类。

Java
私人MRTDReader MRTDReader;

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

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

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

Java
公共无效readMRTD(View v)RasterImage image = mViewer.getImage();如果(图片! =试一试mrtdReader.setOcrEngine (ocrEngine);mrtdReader.processImage(图片);/ /如果(! (mrtdReader.getBounds () .isEmpty ()))如果(mrtderors . geterrors () == mrtderors . no_error . getvalue ())(var val: mrtdreadergetresults ().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 (, sb.toString(), Toast.LENGTH_LONG).show();其他的Toast.makeText (“没有检测到:”+ mrtfear . geterrors (), Toast.LENGTH_LONG).show();(异常交货){Toast.makeText (, ex.getMessage(), Toast.LENGTH_LONG).show();其他的Toast.makeText (“未加载文件”Toast.LENGTH_LONG),告诉();

运行项目

新闻Shift + F10运行应用程序。按照以下步骤测试应用程序。

总结

方法的使用MRTDReader类来读取MRZ和MRTD数据。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领德科技有限公司版权所有。