Попробуйте установить режим сегментации страницы (PSM) в режим 6, который установит OCR для обнаружения одного единообразного блока текста.
В частности, выполните:
bal = pytesseract.image_to_string(balIm, config='--psm 6')
Это должно сделать дать вам то, что вам нужно. На самом деле, я попытался запустить это на вашем изображении, и это дает мне то, что я ищу. Обратите внимание, что я сначала скачал ваше изображение, которое вы предоставили выше, и прочитал его в автономном режиме на моем локальном компьютере:
In [8]: import pytesseract
In [9]: from PIL import Image
In [10]: balIm = Image.open('wC62s.png')
In [11]: pytesseract.image_to_string(balIm, config='--psm 6')
Out[11]: '0.03,'
В заключение, если вы видите, что Tesseract не совсем работать для вас из коробки, попробуйте один из их режимов сегментации страницы, чтобы помочь повысить точность: https://tesseract-ocr.github.io/tessdoc/ImproveQuality#page -segmentation-method . Для полноты я сделаю это доступным ниже.
0 Orientation and script detection (OSD) only.
1 Automatic page segmentation with OSD.
2 Automatic page segmentation, but no OSD, or OCR.
3 Fully automatic page segmentation, but no OSD. (Default)
4 Assume a single column of text of variable sizes.
5 Assume a single uniform block of vertically aligned text.
6 Assume a single uniform block of text.
7 Treat the image as a single text line.
8 Treat the image as a single word.
9 Treat the image as a single word in a circle.
10 Treat the image as a single character.
11 Sparse text. Find as much text as possible in no particular order.
12 Sparse text with OSD.
13 Raw line. Treat the image as a single text line,
bypassing hacks that are Tesseract-specific.
Когда вы запускаете image_to_string
, укажите входной параметр config
, который принимает PSM, в котором вы хотите работать. Попробуйте некоторые из эти, пока вы не получите его для вашего изображения. Перед выполнением убедитесь, что вы используете --psm
в параметре config
.