本教程展示了如何创建一个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教程。
从项目中创建的副本显示图像的图像查看器教程。如果你没有这个项目,按照这个教程中的步骤创建它。
确保你添加所需的工件到项目中。
需要哪些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.RasterImageViewer
android: 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 />
在MainActivity.java
前,添加以下导入语句MainActivity
类。
进口leadtools.forms.commands.MRTDErrors;
进口leadtools.forms.commands.MRTDReader;
添加以下的成员变量MainActivity
类。
私人MRTDReader MRTDReader;
更新onCreate ()
函数如下所示。
@Override
受保护的无效onCreate(包savedInstanceState) {
超级.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
mrtdReader =新MRTDReader ();
}
创建一个readMRTD(查看v)
函数来检测如果MRTD或MRZ。如果存在一个解析值。
公共无效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运行该应用程序。遵循以下步骤来测试应用程序。
从画廊选择图像
按钮加载在一个图像。选择阅读MRTD代码
按钮读取图像并输出结果。
本教程演示了如何使用MRTDReader
类来读取MRZ和MRTD数据。