Тессеракт OCR: получить координаты текста и улучшить качество видеокадра для окончательного OCR

Я использую Tesseract OCR для распознавания текста видеокадров.

Я написал программу, которая использует ffmpeg получить все основные кадры видео и обрезать их (со статическими значениями) для центрирования текста (это могут быть, например, субтитры).

Я также использую ImageMagick а также TextCleaner скрипты, и они улучшают качество распознавания как волшебство!

В любом случае, иногда у меня не очень хорошее качество видео, или размер видео немного мал, или обрезать не центральный текст (потому что значения — staitc), и результаты распознавания очень плохие.

Мой вопрос: как я могу определить правильное положение текста в нужной культуре?
Это должно улучшить качество распознавания текста и получить лучшие результаты.

Любые предложения будут ценны. Благодарю.

1

Решение

Вы можете попробовать поиграть с обнаружение края, и, возможно, в сочетании с другими вашими методами. Как это (чисто определение края):

convert            \
big.jpg          \
\(               \
big.jpg -colorspace gray -edge 8 -negate \
\)               \
+append           \
-resize 50%       \
big-edge-8.png

или же:

convert            \
big.jpg          \
\(               \
big.jpg -colorspace gray -edge 25 -negate \
\)               \
+append           \
-resize 50%       \
big-edge-25.png

Вот два результата:

большой краевой 8.png

большой край-25.png

Другой вариант — уменьшить количество цветов, применить растяжение контраста и (необязательно) порог:

convert                 \
big.jpg              \
-colors 400           \
-contrast-stretch 25% \
colors-400-contraststretch-25.png

convert                 \
big.jpg              \
-colors 400           \
-contrast-stretch 25% \
-threshold 50%        \
colors-400-contraststretch-25-threshold-50.png

цветы-400-contraststretch-25 + Порог-50.png

Обновление: обнаружение краев

Вы можете также поиграть с -canny, Это имплантирует «Хитрый» алгоритм обнаружения краев и присутствует в ImageMagick начиная с версии 6.8.9-0. Объедините это с -contrast-stretch а также -colorspace gray:

convert big.jpg         \
-colorspace gray      \
-contrast-stretch 45% \
-canny 0x1+10%+30%    \
canny1.png

convert big.jpg         \
-colorspace gray      \
-contrast-stretch 45% \
-canny 0x2+10%+30%    \
canny2.png

canny1 + 2.png

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]