Как заставить Tesseract распознавать o как o, а не как ноль? - PullRequest
1 голос
/ 28 апреля 2020

У меня есть следующие изображения:

img01.png

img01.png

img02.png

img02.png

Когда я запускаю tesseract img01.png img01.txt -l eng --psm 7, я получаю тексты

  • 7.819 0 для первого изображения и
  • 10.024 для второй.

Второй результат верный. Однако на первом изображении это o, а не ноль.

Как заставить Тессеракт распознавать o как o?

Обновление 1: I попытался использовать опцию --oem 1, как предложено в этого ответа (tesseract --oem 1 img01.png img01-ocred -l eng --psm 7), но это не помогло.

Обновление 2: Бинаризация изображения с помощью magick img01.png +dither -colors 3 -colors 2 -colorspace gray -normalize img01-binarized.png тоже не помогло. бинаризованное изображение выглядит так:

img01-binarized.png

1 Ответ

2 голосов
/ 29 апреля 2020

Вам просто нужно увеличить изображение в два раза по сравнению с оригиналом, затем использовать tesseract.

wget https://i.stack.imgur.com/bSO87.png

identify -format "%wx%h" bSO87.png 
40x20

tesseract -l eng --oem 3 --psm 6 bSO87.png stdout
7.819 0

convert bSO87.png -resize 80x40 bSO87.png

identify -format "%wx%h" bSO87.png 
80x40

tesseract -l eng --oem 3 --psm 6 bSO87.png stdout
7.819 o
...