LINUX.ORG.RU

Странное поведение Tesseract

 ,


0

1

Не первый раз уже сталкиваюсь, что Tesseract отказывается распознавать, пока не пошевелю гамму.

Скачал видео с субтитрами из Телеграма (MP4), сделал скриншоты в MPV (JPEG), откадрировал ImageMagick-ом (PNG), скормил Tesseract-у. Ничего не нашло. Чуть изменил гамму тем же ImageMagick-ом (convert -gamma), причём в любую сторону и в широком диапазоне (0.125-4) — нормально распознаётся.

В чём может быть дело?

$ tesseract --version
tesseract 5.4.1
 leptonica-1.83.1
  libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 3.0.0) : libpng 1.6.44+apng : libtiff 4.4.0 : zlib 1.3.1 : libwebp 1.4.0 : libopenjp2 2.5.2
 Found AVX
 Found FMA
 Found SSE4.1
 Found OpenMP 201511
 Found libarchive 3.7.7 zlib/1.3.1 liblzma/5.6.2 bz2lib/1.0.8 libzstd/1.5.6
 Found libcurl/8.11.0 OpenSSL/3.3.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 c-ares/1.33.1 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.62.1 nghttp3/1.6.0 librtmp/2.3 OpenLDAP/2.6.4

Модели с tessdata_best 4.1.0.

Пример текста: https://0x0.st/Xn4B.zip

★★★★★
Ответ на: комментарий от dataman

Я не уверен, но в http://www.leptonica.org/source/version-notes.html было много исправлений (1.85.0 Oct 16, 2024).

Самый контрастный из файлов частично прочёлся. Остальные — без изменений.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Это с git/последними версиями leptonica и tesseract?

Не оно? https://github.com/tesseract-ocr/tesseract/issues/4318

Some words are not recognized correctly with the language file tessdata_best\eng.trainedata

dataman ★★★★★
()
Последнее исправление: dataman (всего исправлений: 1)

Попробовал распознать твои исходные файлы, пишет Empty page!!. Tesseract 5.5.0. Крутил гамму — без разницы. Распознаёт, если перевести в оттенки серого:

$ mogrify -colorspace gray *.png
$ for i in *.png; do tesseract $i - -l eng; done

А вот кропнутую картинку, с ошибками, но уже распознаёт: https://0x0.st/XnEc.png Если перевести в оттенки серого, то распознаёт идеально.

Возможно распознавать мешает то, что буквы светлее фона. Цитата из документации:

While tesseract version 3.05 (and older) handle inverted image (dark background and light text) without problem, for 4.x version use dark text on light background.

Кроме инвертированных цветов, на картинках ещё много шума в виде просвечивающего текста на заднем плане, лишней графики и артефактов от JPEG-а.

Кто их поймёт, эти нейросети :)

stabilitron
()