humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
лог изменений
get_mrz_image
get_mrz_image($inpath,$outpath); - получить картинку с MRZ областью для дальнейшего анализа (например для распознания паспортов) доступна с версии 7.0.62Функция на вход принимает параметры:
После отработки функция возвращает результат своей работы в скрипт :
Пример использования
<?php // Scenario: Extract the Machine-Readable Zone (MRZ) from an image containing an ID card, passport, or other travel document. The MRZ is the machine-readable text usually found at the bottom of such documents. $xhe_host = "localhost:7010"; if (!isset($path)){ // Path to the init.php file for connecting to the XHE API $path = "../../../Templates/init.php"; // Including init.php grants access to all classes and functionality for working with the XHE API require($path); } // Create output directory if it doesn't exist $outputDir = "output"; if (!is_dir($outputDir)) { mkdir($outputDir, 0777, true); echo "Created output directory: $outputDir\n"; } // Check if the source image exists $sourceImage = "passport_sample.png"; if (file_exists($sourceImage)) { // Extract MRZ from the image $outputPath = "$outputDir/mrz_image.png"; echo "Extracting MRZ from image: $sourceImage\n"; $result = DOM::$image->get_mrz_image($sourceImage, $outputPath); if ($result) { echo "MRZ extracted successfully and saved to: $outputPath\n"; // Check if the file was actually created if (file_exists($outputPath)) { echo "File size: " . filesize($outputPath) . " bytes\n"; // Try to recognize the MRZ text echo "\nAttempting to recognize MRZ text...\n"; $mrzText = DOM::$image->recognize_captcha($outputPath, false); if ($mrzText) { echo "Recognized MRZ text:\n$mrzText\n"; } else { echo "Failed to recognize MRZ text\n"; } } else { echo "Warning: MRZ image file was not created despite success return value\n"; } } else { echo "Failed to extract MRZ from the image\n"; } } else { echo "Source image does not exist: $sourceImage\n"; } // Quit the application WINDOW::$app->quit(); ?>
# 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>") sleep(2) # Quit app.quit()
#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 = "localhost:7010"; 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("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен 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("\n"); // Quit app.quit();
=============================================
Image Объекты DOM System Vision Web Window
=============================================
Если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум.