Pytesseract не получает текст из одной части изображения

У меня есть следующее изображение, которое я хочу получить информацию из таблицы, содержащейся в нем. Мне удалось получить информацию из первого и третьего столбцов. Однако я не могу заставить pytesseract работать со вторым столбцом. введите описание изображения здесь

Вот мой код:

from PIL import Image, ImageDraw, ImageFilter
import pytesseract

im = Image.open(image_address)

# First Column, WORKING
box_1 = (100, 435, 800, 490)
a = im.crop(box_1)
pytesseract.image_to_string(a)

# Second Column, NOT WORKING
box_2 = (810, 445, 1200, 490)
a = im.crop(box_2)
pytesseract.image_to_string(a)

Я пытался убрать серый фон, но это не сработало

#Remove gray background, NOT WORKING    
gray = a.convert('L')
bw_a = gray.point(lambda x: 0 if x<128 else 255, '1')
pytesseract.image_to_string(bw_a)

Я тоже попробовал дилатацию, и она не сработала

## Dilation
filter_a= bw_a.filter(ImageFilter.MinFilter(3))
pytesseract.image_to_string(filter_a)

Однако, если я перейду к третьему столбцу, он работает

# Third Column, WORKING
box_3 = (1230, 445, 1500, 490)
a = im.crop(box_3)
pytesseract.image_to_string(a)

Какие-нибудь мысли?

0 ответов

Другие вопросы по тегам