• EN
    RU

image/parse_mrz

parse_mrz(mrz, mrz_type) - распарсить MRZ
Параметры действия:
  • mrz – mrz.
  • mrz_type – тип mrz.


Результат выполнения действия:
  • true – успешно распарсили MRZ
  • false – операция не удалась




Пример использования parse_mrz (PHP):

<?php $xhe_host = "127.0.0.1:3035";
 
// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>image->".basename (__FILE__)."</font><hr>";
 
// 1 
echo "1. Вытащим MRZ регион из скана паспорта : ";
echo $image->get_mrz_image("E:/zp1.png","E:/mrz_image.png");
 
// 2
echo "\n2. Преобработаем MRZ перед распознанием: ";
echo $image->preprocess_for_ocr("E:/mrz_image.png","E:/mrz_image_prproceeded.png");
 
// 3
echo "\n3. Распознаем текст на картинке : \n";
$tesseractOCR->set_allowed_chars("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789><");
$mrz = $tesseractOCR->recognize("E:/mrz_image_prproceeded.png","mrz",5);
$mrz=str_replace(" ","",$mrz);
echo str_replace("<","&lt;",$mrz) ."\n\n";
 
// 4 
echo "\n3. Разберем MRZ : \n";
$mrzObj=$image->parse_mrz($mrz);
if ($mrzObj!=false && count($mrzObj->Fields)>0)
{
	echo "Тип: ".$mrzObj->Fields[0]->Value."\n";
	echo "Страна: ".$mrzObj->Fields[1]->Value."\n";
	echo "ФИО: ".$mrzObj->Fields[2]->Value."\n";
	echo "Серия и номер: ".$mrzObj->Fields[3]->Value."\n";
	echo "Дата рождения: ".$mrzObj->Fields[6]->Value."\n";
	echo "Пол: ".$mrzObj->Fields[8]->Value."\n";
	echo "Годен до : ".$mrzObj->Fields[9]->Value."\n";
	echo "Дата выдачи : ".$mrzObj->Fields[12]->Value."\n";
	echo "Код подразделения : ".$mrzObj->Fields[13]->Value."\n";
}
else
	echo "не распознали";
 
echo $app->shell_execute("open","e:/mrz_image_prproceeded.png");
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>

Пример использования parse_mrz (C#):

#region using
 
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading;
 
using XHE;
using XHE.XHE_DOM;
using XHE.XHE_System;
using XHE.XHE_Window;
using XHE.XHE_Web;
using Newtonsoft.Json.Linq;
 
#endregion
 
 class Program:XHEScript
 {
	  static void Main(string[] args)
	  {
			// init XHE
			server="127.0.0.1:3035";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>image.add_image</font><hr>");
 
			// 1 
			echo("1. Вытащим MRZ регион из скана паспорта : ");
			echo(image.get_mrz_image("E:/zp1.png","E:/mrz_image.png"));
 
			// 2
			echo("\n2. Преобработаем MRZ перед распознанием: ");
			echo(image.preprocess_for_ocr("E:/mrz_image.png","E:/mrz_image_prproceeded.png"));
 
			// 3
			echo("\n3. Распознаем текст на картинке : \n");
			tesseractOCR.set_allowed_chars("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789><");
			var mrz = tesseractOCR.recognize("E:/mrz_image_prproceeded.png","mrz",5);
			mrz = mrz.Replace(" ","");
			echo(mrz.Replace("<","&lt;") +"\n\n");
 
			// 4 
			echo("\n3. Разберем MRZ : \n");
			var mrzObj=image.parse_mrz(mrz);
			if (mrzObj!=null)
			{
				echo(mrzObj.ToString());
				/*echo("Тип: "+mrzObj.Fields[0].Value+"\n");
				echo("Страна: "+mrzObj.Fields[1].Value+"\n");
				echo("ФИО: "+mrzObj.Fields[2].Value+"\n");
				echo("Серия и номер: "+mrzObj.Fields[3].Value+"\n");
				echo("Дата рождения: "+mrzObj.Fields[6].Value+"\n");
				echo("Пол: "+mrzObj.Fields[8].Value+"\n");
				echo("Годен до : "+mrzObj.Fields[9].Value+"\n");
				echo("Дата выдачи : "+mrzObj.Fields[12].Value+"\n");
				echo("Код подразделения : "+mrzObj.Fields[13].Value+"\n");*/
			}
			else
				echo("не распознали");
 
			app.shell_execute("open","e:/mrz_image_prproceeded.png");
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

Пример использования parse_mrz (Python):

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:3035"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>image.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Вытащим MRZ регион из скана паспорта : ");
echo(image.get_mrz_image("E:/zp1.png","E:/mrz_image.png"));
 
# 2
echo("\n2. Преобработаем MRZ перед распознанием: ");
echo(image.preprocess_for_ocr("E:/mrz_image.png","E:/mrz_image_prproceeded.png"));
 
# 3
echo("\n3. Распознаем текст на картинке : \n");
tesseractOCR.set_allowed_chars("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789><");
mrz = tesseractOCR.recognize("E:/mrz_image_prproceeded.png","mrz",5);
mrz = mrz.replace(" ","");
echo(mrz.replace("<","&lt;") +"\n\n");
 
# 4 
echo("\n3. Разберем MRZ : \n");
mrzObj=image.parse_mrz(mrz);
if mrzObj!=None:
	echo(mrzObj)
 
app.shell_execute("open","E:/mrz_image_prproceeded.png");
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()

Пример использования parse_mrz (JS):

// подключим объект для управления эмулятором, если еще не подключен
xhe_host="127.0.0.1:3035";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>image.add_image</font><hr>");
 
// 1 
echo("1. Вытащим MRZ регион из скана паспорта : ");
echo(image.get_mrz_image("E:/zp1.png","E:/mrz_image.png"));
 
// 2
echo("\n2. Преобработаем MRZ перед распознанием: ");
echo(image.preprocess_for_ocr("E:/mrz_image.png","E:/mrz_image_prproceeded.png"));
 
// 3
echo("\n3. Распознаем текст на картинке : \n");
tesseractOCR.set_allowed_chars("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789><");
var mrz = tesseractOCR.recognize("E:/mrz_image_prproceeded.png","mrz",5);
mrz = mrz.replace(" ","");
echo(mrz.replace("<","&lt;") +"\n\n");
 
// 4 
echo("\n3. Разберем MRZ : \n");
var mrzObj=image.parse_mrz(mrz);
if (mrzObj!=null)
{
	echo("Тип: "+mrzObj.Fields[0].Value+"\n");
	echo("Страна: "+mrzObj.Fields[1].Value+"\n");
	echo("ФИО: "+mrzObj.Fields[2].Value+"\n");
	echo("Серия и номер: "+mrzObj.Fields[3].Value+"\n");
	echo("Дата рождения: "+mrzObj.Fields[6].Value+"\n");
	echo("Пол: "+mrzObj.Fields[8].Value+"\n");
	echo("Годен до : "+mrzObj.Fields[9].Value+"\n");
	echo("Дата выдачи : "+mrzObj.Fields[12].Value+"\n");
	echo("Код подразделения : "+mrzObj.Fields[13].Value+"\n");
}
else
	echo("не распознали");
 
app.shell_execute("open","e:/mrz_image_prproceeded.png");
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();