Recognize-Text

Функция применяется для распознавания текста на изображении.
Изображение может быть получено с файла, экрана или окна приложения.
Для работы функции требуется обучить базу символов, для этого используется psClick — ImageReader.exe. В меню PowerShell ISE пункт Дополнительные компоненты, Запустить psClick. В открывшейся программе нажать кнопку ImageReader.
Также запустить psClick можно выполнив команду: Start-Psclick
Параметры

  • -Image Изображение, загруженное в память / путь к изображению на диске

  • -Base База символов, загруженная с помощью Get-SymbolsBase

  • -Accuracy Минимальная точность символов (0-100). Символы ниже указанной точности будут удалены из возвращаемого объекта

Возвращаемое значение

  • PSCustomObject.

    PropertyDescription
    SymbolsСписок хеш таблиц с информацией о каждом распознанном символе
    TextРаспознанный текст в виде строки.
    ImageOutputИзображение после применения фильтров.
  • Хеш таблица.

    PropertyDescription
    SymbolРаспознанный символ.
    PercentПроцент, с которым распознался символ, от 0 до 1, где 1 это 100%
    RectangleПозиция символа по X и Y, ширина и высота символа.

Обзор функции распознавания текста:

Подбор параметров для распознавания текста:

Обучение базы символов:

Пример использования функции распознавания:

Примеры

  1. Распознать текст с указанного файла.

    Wake up, Neo, select all

    Clear-Host
    try{
    $BaseSymbol = Get-SymbolsBase 'l2' # загрузить базу символов
    }
    catch{
    Write-Host "База символов не загружена"
    Stop-Script
    }

    $img = Get-Image -Path 'C:\ImageL2.bmp' # получить изображение из файла

    $result = Recognize-Text -Image $img -Base $BaseSymbol # распознать текст
    $result.Text # распознанные текст

    $deskPath = [Environment]::GetFolderPath('Desktop') # путь к рабочему столу
    $result.ImageOutput.Save("$deskPath\ImageOutput.png") # сохранить изображение, которое вернула функция распознавания текста
    $img.Dispose()