Как получить уверенность в каждой строке, используя pytesseract - PullRequest
1 голос
/ 29 марта 2019

Я успешно настроил Тессеракт и могу перевести изображения в текст ...

text = pytesseract.image_to_string(Image.open(image))

Однако мне нужно получить значение достоверности для каждой строки.Я не могу найти способ сделать это, используя pytesseract .Кто-нибудь знает, как это сделать?

Я знаю, что это возможно при использовании PyTessBaseAPI , но я не могу это использовать, я потратил часы, пытаясь настроить его без удачи, поэтому мне нужноспособ сделать это с помощью pytesseract .

1 Ответ

1 голос
/ 29 марта 2019

После долгих поисков я придумал способ.Вместо image_to_string следует использовать image_to_data.Тем не менее, это даст вам статистику для каждого слова, а не для каждой строки ...

text = pytesseract.image_to_data(Image.open(file_image), output_type='data.frame')

Итак, то, что я сделал, сохранило его как фрейм данных, а затем использовало pandas для группировки по block_num,так как каждая строка сгруппирована в блоки с использованием OCR, я также удалил все строки без значений достоверности (-1) ...

text = text[text.conf != -1]
lines = text.groupby('block_num')['text'].apply(list)

Используя эту же логику, вы также можете рассчитать достоверность на строку, рассчитавсредняя достоверность всех слов в одном блоке ...

conf = text.groupby(['block_num'])['conf'].mean()
...