Прочитать картинку, сохранить текст, обработать текст, получить результат довольно просто. Хочу рассказа��ь как отобразить результат для пользователя на ранее прочитанной картинке, например, выделить кусочек текста содержащий целевое предложение. Такая задача будет полезна при выделении важной части отчета и демонстрации её руководству.
Рисовать на картинке можно по координатам, а получить координаты нужно при чтении текста. Получить их можно используя особый output_type:
pd_dataframe = pytesseract.image_to_data(image, output_type=Output.DATAFRAME)И так, давайте рассмотрим пример. Возьмем общедоступный финансовый отчет из Интернета, прочитаем одну его страницу (ниже на ней же и будем рисовать) и посмотрим на получившийся датафрейм с текстом.

Подробное описание колонок (eng)
level = 1/2/3/4/5,the level of current item.
page_num: the page index of the current item. In most instances, a image only has one page.
block_num: the block item of the current item. when tesseract OCR Image, it will split the image into several blocks according the PSM parameters and some rules. The words in a line often in a block.
par_num: The paragraph index of the current item. It is the page analysis results.
line_num: The line index of the current item. It is the page analysis results.
word_num: The word index in one block.
left/top/width/height:the top-left coordinate and the width and height of the current word.
conf: the confidence of the current word, the range is -1~100.. The -1 means that there is no text here. The 100 is the highest value.
text: the word ocr results.
Датафрейм состоит из слов, для каждого слова указана страница (обычно одна у всех слов), блок, параграф в блоке, строка параграфа, номер слова.

Рассмотрим подробнее столбцы с координатами, полученные для каждого слова. Распознавание считает координаты в пикселях:
left - отступ от левой границы картинки до левой части слова
top - отступ от верхней границы картинки до верхней части слова
width - длина слова (расстояние между левой и правой границами слова)
height - высота слова (расстояние между нижней и верхней границами слова)
Для блока или параграфа по всем словам возьмем минимальные left и top, а width и height максимальные, в результате получим координаты для выделенного текста:

Получив датафрейм с координатами каждого слова, можно создать датафрейм с координатами блоков, параграфов, строк, предложений.. зависит от решаемой задачи. Для рисования (геометрических фигур, вставки дополнительного текста и др.) по этим координатам потребуется получить картинку из текста и на ней рисовать, если для распознавания и получения координат вы искусственно увеличивали её - не забудьте при рисовании увеличивать точно так же.
Код чтения текста, рисования cv2.rectangle по координатам выложу на GitHub