Тема: AHK: Алгоритм работы с текстом
Приветствую, уважаемые участники форума.
Зашёл в тупик.
Мне нужна помощь в реализации одного алгоритма.
Есть скрипт, который сканирует изображение (субтитры), распознает его в текстовый файл и передаёт в govorilka.
Проблема в том, что строка с субтитрами может быть распознана по 5 раз за цикл.
Алгоритм должен отправлять по одной строке текста в govorilka, удалять его от туда и после появления такой же строки, игнорировать её.
Может у кого уже есть реализация нечто похожего?
Буду рад ЛЮБОЙ идее.
Вот Мой, криворукий, код:
F1::
Loop,
{
ImageSearch, xp, yp, 407, 867, 724, 908, *3 target.bmp
If ErrorLevel = 0
{ ;распознаём. читаем.}
;MsgBox %FoundX%, %FoundY%
Clipboard = ; очистка Буфера обмена
RunWait, C:\Program Files (x86)\MiniCap\MiniCap.exe -captureregion 410 877 1500 900 -dpi 600 -convert bwt1 -save "c:\bl3\text.bmp" -exit, ,hide ;делаем скриншот
RunWait, C:\install\Capture2Text_v4.6.2_64bit\Capture2Text\Capture2Text.exe -l Russian -i c:\bl3\text.bmp --clipboard, ,hide ; распознаем
SoundBeep, 500, 50 ;звуковое оповещение после окончания распознования и записи в буфер обмена
ClipWait, 2, 1 ; ожидает заполнение буфера от предыдущих команд
FileAppend, %Clipboard%, c:\bl3\term.txt
FileRead, Text, C:\bl3\term.txt ;читает файл перед сортировкой
Sort, Text, U ;сортирует прочитанное, удаляя дубликаты строк
FileOpen("c:\bl3\target.txt", "w").Close() ;чистит файл перед заполнением новыми данными
FileAppend, %Text%, C:\bl3\Target.txt ;
Run, C:\install\Говорилка\CP\Govorilka_cp.exe -Q -s70 -I -e "Microsoft irina Desktop - Russian" -F C:\bl3\target.txt , ,hide,
sleep 1000
}
else
{
continue
}
}
F2:: Pause
F7:: run C:\install\Говорилка\CP\Govorilka_cp.exe -STOPALL