preprocess_for_ocr(inpath, outpath, image_size, binary_treshhold,
need_deskew)
Данная команда позволяет переобработать картинку перед передачей OCR.
Команда на вход принимает параметры:
-
inpath - путь к исходному файлу
-
outpath - путь к результирующему
файлу
- image_size - размер файла
-
binary_treshhold - двоичный порог
-
need_deskew - нужно ли выравнивать
После отработки команда возвращает результат своей работы в робот:
-
true - успешно
преобработали картинку перед передачей OCR
-
false - операция не
удалась
Примеры использования (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("<","<",$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();
?>
Примеры использования (cs)
#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;
#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("<","<") +"\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();
}
}
Примеры использования (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.png")+"\n");
// 2
echo("2. Покажем результат : ");
echo(app.shell_execute("open","e:/mrz.png"));
// конец
echo("<hr><br>");
// Quit
app.quit();
Примеры использования (py)
# 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("<","<") +"\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()