WordRecognize plugin

Распознавание слов с изображений

Версия: 1.1

Дата релиза: 24 ноября 2022

Список методов плагина

recognize

Распознавание слов с картинки

recognize(string path, string json_settings)
path Путь к файлу
json_settings Настройки распознования изображения в формате JSON
grayScale bool Использовать фильтр серого для обработки изображения
rotate int Повернуть изображение
  • 0 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 1 - задает поворот на 90 градусов по часовой стрелке без зеркального отражения
  • 2 - задает отсутствие поворота по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 3 - задает поворот на 270 градусов по часовой стрелке без зеркального отражения
  • 4 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
  • 5 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 6 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 7 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
filterType int Использование фильтра очистки изображения
  • 0 - без фильтра
  • 1 - поиск артефактов по различиям в цвете
  • 2 - попиксельный поиск артефактов по разнице цвета
filterSize int Используется в связке с filterType и задает глубину поиска по фильтру (чем больше - более точный, но более долгий поиск). Оптимальное значение 5
filterSort int Тип сортировки пискселей - используется для первого фильтра и влияет на скорость поиска артефактов на изображении
  • 0 - стандартная сортировка пикселей пузырьком
  • 1 - сортировка подсчетом
  • 2 - пирамидальная сортировка
  • 2 - быстрая сортировка
languages array[string] Список языков для распознования. Допустимы следующие варианты:
  • 0 - Eng
  • 1 - Rus
quality string Качество обработки. Допустимы следующие варианты:
  • 0 - (Normal) среднее время обработки, среднее кач-о результата
  • 1 - (Fast) быстрое время обработки, результат хуже
  • 2 - (Best) долгое время обработки, результат лучше

Описание возврата: Возвращает строку с построчным разделением распознанного текста

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $wordrecognize);

// начало теста
$test->echo_header('recognize');

$filePath1 = $test->get_test_file_full_path('testImg1.jpg');
$filePath2 = $test->get_test_file_full_path('testImg2.jpg');

$recognizeSettings = '{"languages": [1], "quality": 1}';

//1
echo "1. Распознать текст с картинки 1: \n";
echo $wordrecognize->recognize($filePath1, $recognizeSettings)."\n";

//2
echo "2. Распознать текст с картинки 2: \n";
echo $wordrecognize->recognize($filePath2, $recognizeSettings)."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, wordrecognize)

// начало теста
test.echo_header('recognize')

filePath1 = test.get_test_file_full_path('testImg1.jpg')
filePath2 = test.get_test_file_full_path('testImg2.jpg')

recognizeSettings = '{"languages": [1], "quality": 1}'

//1
echo("1. Распознать текст с картинки 1: \n")
echo(`${wordrecognize.recognize(filePath1, recognizeSettings)}\n`)

//2
echo("2. Распознать текст с картинки 2: \n")
echo(`${wordrecognize.recognize(filePath2, recognizeSettings)}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, wordrecognize)

# начало теста
test.echo_header('recognize')

filePath1 = test.get_test_file_full_path('testImg1.jpg')
filePath2 = test.get_test_file_full_path('testImg2.jpg')

recognizeSettings = {"languages": [1], "quality": 1}

#1
print("1. Распознать текст с картинки 1: ")
print(wordrecognize.recognize(filePath1, recognizeSettings))

#2
print("2. Распознать текст с картинки 2: ")
print(wordrecognize.recognize(filePath2, recognizeSettings))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

recognize_with_search_by_mask

Распознавание слов и поиск по маске

recognize_with_search_by_mask(string path, string json_settings, string search_mask)
path Путь к файлу
json_settings Настройки распознования изображения в формате JSON
grayScale bool Использовать фильтр серого для обработки изображения
rotate int Повернуть изображение
  • 0 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 1 - задает поворот на 90 градусов по часовой стрелке без зеркального отражения
  • 2 - задает отсутствие поворота по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 3 - задает поворот на 270 градусов по часовой стрелке без зеркального отражения
  • 4 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
  • 5 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 6 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 7 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
filterType int Использование фильтра очистки изображения
  • 0 - без фильтра
  • 1 - поиск артефактов по различиям в цвете
  • 2 - попиксельный поиск артефактов по разнице цвета
filterSize int Используется в связке с filterType и задает глубину поиска по фильтру (чем больше - более точный, но более долгий поиск). Оптимальное значение 5
filterSort int Тип сортировки пискселей - используется для первого фильтра и влияет на скорость поиска артефактов на изображении
  • 0 - стандартная сортировка пикселей пузырьком
  • 1 - сортировка подсчетом
  • 2 - пирамидальная сортировка
  • 2 - быстрая сортировка
languages array[string] Список языков для распознования. Допустимы следующие варианты:
  • 0 - Eng
  • 1 - Rus
quality string Качество обработки. Допустимы следующие варианты:
  • 0 - (Normal) среднее время обработки, среднее кач-о результата
  • 1 - (Fast) быстрое время обработки, результат хуже
  • 2 - (Best) долгое время обработки, результат лучше
search_mask В распознанном тексте выполняется поиск по маске поиска и возвращается следующее за маской слово

Описание возврата: Возвращает строку с построчным разделением распознанного текста с поиском по тексту по маске поиска

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $wordrecognize);

// начало теста
$test->echo_header('recognize_with_search_by_mask');

$filePath = $test->get_test_file_full_path('testImg1.jpg');

$recognizeSettings = '{"languages": [1], "quality": 1}';

//1
echo "1. Получить номер платёжного поручения с первой картинки: \n";
echo $wordrecognize->recognize_with_search_by_mask($filePath, $recognizeSettings, "ПЛАТЕЖНОЕ ПОРУЧЕНИЕ № ")."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, wordrecognize)

// начало теста
test.echo_header('recognize_with_search_by_mask')

filePath = test.get_test_file_full_path('testImg1.jpg')

recognizeSettings = '{"languages": [1], "quality": 1}'

//1
echo("1. Получить номер платёжного поручения с первой картинки: \n")
echo(`${wordrecognize.recognize_with_search_by_mask(filePath, recognizeSettings, "ПЛАТЕЖНОЕ ПОРУЧЕНИЕ № ")}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, wordrecognize)

# начало теста
test.echo_header('recognize_with_search_by_mask')

filePath = test.get_test_file_full_path('testImg1.jpg')

recognizeSettings = {"languages": [1], "quality": 1}

#1
print("1. Получить номер платёжного поручения с первой картинки: ")
print(wordrecognize.recognize_with_search_by_mask(filePath, recognizeSettings, "ПЛАТЕЖНОЕ ПОРУЧЕНИЕ № "))

# конец теста
print('\n<hr><br>')

# выход
app.quit()

recognize_with_search_by_regex

Распознавание слов и поиск по регулярному выражению

recognize_with_search_by_regex(string path, string json_settings, string search_regex)
path Путь к файлу
json_settings Настройки распознования изображения в формате JSON
grayScale bool Использовать фильтр серого для обработки изображения
rotate int Повернуть изображение
  • 0 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 1 - задает поворот на 90 градусов по часовой стрелке без зеркального отражения
  • 2 - задает отсутствие поворота по часовой стрелке с последующим зеркальным отражением по горизонтали и по вертикали
  • 3 - задает поворот на 270 градусов по часовой стрелке без зеркального отражения
  • 4 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
  • 5 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 6 - задает поворот на 180 градусов по часовой стрелке с последующим зеркальным отражением по горизонтали
  • 7 - задает поворот на 90 градусов по часовой стрелке с последующим зеркальным отражением по вертикали
filterType int Использование фильтра очистки изображения
  • 0 - без фильтра
  • 1 - поиск артефактов по различиям в цвете
  • 2 - попиксельный поиск артефактов по разнице цвета
filterSize int Используется в связке с filterType и задает глубину поиска по фильтру (чем больше - более точный, но более долгий поиск). Оптимальное значение 5
filterSort int Тип сортировки пискселей - используется для первого фильтра и влияет на скорость поиска артефактов на изображении
  • 0 - стандартная сортировка пикселей пузырьком
  • 1 - сортировка подсчетом
  • 2 - пирамидальная сортировка
  • 2 - быстрая сортировка
languages array[string] Список языков для распознования. Допустимы следующие варианты:
  • 0 - Eng
  • 1 - Rus
quality string Качество обработки. Допустимы следующие варианты:
  • 0 - (Normal) среднее время обработки, среднее кач-о результата
  • 1 - (Fast) быстрое время обработки, результат хуже
  • 2 - (Best) долгое время обработки, результат лучше
search_regex В распознанном тексте выполняется поиск по регулярному выражению и возвращается список совпадений, разделенных новой строкой

Описание возврата: Возвращает строку с построчным разделением распознанного текста с поиском по тексту по регулярному выражению

Примеры использования
<?php
// инициализация
$xhe_host = '127.0.0.1:7010';
$relative_app_dir = '..\\..\\..\\';
require($relative_app_dir.'Templates/init.php');
include($relative_app_dir.'Templates/_for_tests_.php');

$bUTF8Ver = true;
$PHP_Use_Trought_Shell = true;

// рабочая папка
$script_folder = $debug->get_cur_script_folder();
// отсносительный путь
$app_dir = realpath($script_folder.$relative_app_dir);
// тестовые данные
$test = new _for_tests_($script_folder, $wordrecognize);

// начало теста
$test->echo_header('recognize_with_search_by_regex');

$filePath = $test->get_test_file_full_path('testImg2.jpg');

$recognizeSettings = '{"languages": [1], "quality": 1}';

//1
echo "1. Получить номер/серию паспортов со второй картинки: \n";
echo $wordrecognize->recognize_with_search_by_regex($filePath, $recognizeSettings, "серия\\s*\\d+\\s*номер\\s*\\d+")."\n";

// конец теста
echo "\n<hr><br>";

// выход
$app->quit();
?>
// связь с платформой
xhe_host = '127.0.0.1:7014'
_path = require('path')
relative_app_dir = '..\\..\\..\\'
echo = require(_path.join(relative_app_dir, 'Templates JS', 'init.js'))
_for_tests_ = require(_path.join(relative_app_dir, 'Templates JS', '_for_tests_.js'))

// рабочая папка
script_folder = debug.get_cur_script_folder()
// отсносительны йпуть
app_dir = _path.resolve(_path.join(script_folder, relative_app_dir))
// тестовые данные
test = new _for_tests_(script_folder, wordrecognize)

// начало теста
test.echo_header('recognize_with_search_by_regex')

filePath = test.get_test_file_full_path('testImg2.jpg')

recognizeSettings = '{"languages": [1], "quality": 1}'

//1
echo("1. Получить номер/серию паспортов со второй картинки: \n")
echo(`${wordrecognize.recognize_with_search_by_regex(filePath, recognizeSettings, "серия\\s*\\d+\\s*номер\\s*\\d+")}\n`)

// конец теста
echo('\n<hr><br>')

// выход
app.quit()
# дополнительные пути
import sys, os
relative_app_dir = '..\\..\\..\\'
sys.path.append(os.path.join(relative_app_dir, 'Templates PY'))

# связь с платофрмой
xhe_host = '127.0.0.1:7010'
from xweb_human_emulator import *
from _for_tests_ import _for_tests_

# рабочая папка
script_folder = debug.get_cur_script_folder()
# относительный путь
app_dir = os.path.abspath(os.path.join(script_folder, relative_app_dir))

# тестовые данные
test = _for_tests_(script_folder, wordrecognize)

# начало теста
test.echo_header('recognize_with_search_by_regex')

filePath = test.get_test_file_full_path('testImg2.jpg')

recognizeSettings = {"languages": [1], "quality": 1}

#1
print("1. Получить номер/серию паспортов со второй картинки: ")
print(wordrecognize.recognize_with_search_by_regex(filePath, recognizeSettings, "серия\\s*\\d+\\s*номер\\s*\\d+"))

# конец теста
print('\n<hr><br>')

# выход
app.quit()