После долгих поисков я придумал способ.Вместо 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()