Я просто программирую программное обеспечение на vb.net, где я пытаюсь распознать десятки * .jpg файлов.
Основная идея состоит в том, чтобы вручную выбрать папку, в которой у меня есть куча jpg-файлов, и вторую папку, в которой хранятся txt-файлы, которые выводит Tesseract.
Как вы знаете, Tesseract требуется несколько секунд (в моем случае немного больше, потому что мой компьютер не работает), чтобы обработать файл jpg и распознать его.
Проблема в том, что я хочу, чтобы OCR каждый JPG один за другим, поэтому мне нужно знать, когда Tesseract закончит обработку каждого файла. Когда я быстро выполнил команду CMD с аргументами, Tesseract создал пустой текстовый файл. Но я понятия не имею, как проверить, когда Tesseract завершил обработку файла, и программное обеспечение VB может запустить инструкции для обработки следующего файла jpg.
Я думал о проверке длины в байтах txt-файла, и если он не равен нулю, это означает, что файл был обработан Tesseract.
На данный момент у меня есть цикл Do ..., где я обрабатываю каждый из файлов jpg, и у меня есть вложенный цикл Do ..., который проверяет, равен ли размер файла txt> 0 байт. Если он не больше нуля байтов, он выполняет thread.sleep (5000).
Do Until myFileSize > 0
Thread.Sleep(5000)
Loop
Попытка перезапустить код снова и снова, пока размер файла txt = 0 байт.
Это единственное решение, которое я знаю, но, похоже, оно не выполняет действия, которое я ищу.
Какую технику вы бы использовали для решения этого дела?