[Python, PDF] Tesseract OCR, выделение распознанного текста на изображении
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Прочитать картинку, сохранить текст, обработать текст, получить результат довольно просто. Хочу рассказать как отобразить результат для пользователя на ранее прочитанной картинке, например выделить кусочек текста содержащий целевое предложение. Такая задача будет полезна при выделении важной части отчета и демонстрации её руководству.Рисовать на картинке можно по координатам, а получить координаты нужно при чтении текста. Получить их можно с используя особый output_type:
pd_dataframe = pytesseract.image_to_data(image, output_type=Output.DATAFRAME)
И так, давайте рассмотрим пример. Возьмем общедоступный финансовый отчет из Интернета, прочитаем одну его страницу (ниже на ней же и будем рисовать) и посмотрим на получившийся датафрейм с текстом.
результат 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.
Датафрейм состоит из слов, для каждого слова указна страница (обычно одна у всех слов), блок, параграф в блоке, строка параграфа, номер слова.
отличие блоков от параграфов (block vs par_num)Рассмотрим подробнее столбцы с координатами, полученные для каждого слова. Распознавание считает координаты в пикселях:left - отступ от левой границы картинки до левой части словаtop - отступ от верхней границы картинки до верхней части словаwidth - длина слова (расстояние между левой и правой границами слова)height - высота слова (расстояние между нижней и верхней границами слова)Для блока или параграфа по всем словам возьмем минимальные left и top, а width и height максимальные, в результате получим координаты для выделенного текста:
Получив датафрейм с координатами каждого слова можно создать датафрейс с координатами блоков, параграфов, строк, предложений.. зависит от решаемой задачи. Для рисования (геометрических фигур, вставки дополнительного текста и др.) по этим координатам потребуется получить картинку из текста и на ней рисовать, если для распознавания и получения координат вы искуственно увеличивали её - не забудьте при рисовании увеличивать точно так же.Код чтения текста, рисования cv2.rectangle по координатам выложу на GitHub
===========
Источник:
habr.com
===========
Похожие новости:
- [Python, Машинное обучение, Искусственный интеллект, TensorFlow] TensorFlow vs PyTorch в 2021: сравнение фреймворков глубокого обучения
- [Python, 1С] Хранилище внешних обработок 1С на python
- [Python, Программирование, Машинное обучение] Кластеризация трасс для оценки качества процессов
- [Системное администрирование, Python, IT-инфраструктура, DevOps] Зачем инженеру эксплуатации знать Python: три кейса из практики
- [Python, Обработка изображений, Машинное обучение] Сервис распознавания капч, который больше не нужен
- [Python, Семантика, Программирование, Машинное обучение, Natural Language Processing] Перефразирование русских текстов: корпуса, модели, метрики
- [Python, Программирование, Проектирование и рефакторинг] Python: неочевидное в очевидном
- [Python, Big Data, Машинное обучение] ML-обработка результатов голосований Госдумы (2016-2021)
- [Python, Программирование, Работа с 3D-графикой, Машинное обучение] Пристальный взгляд на код из лучшего доклада конференции по компьютерному зрению и распознаванию образов 2021 — GIRAFFE (перевод)
- [Python, MongoDB, Голосовые интерфейсы] Голосовой дневник на python с распознаванием голоса и сохранением в Mongo DB
Теги для поиска: #_python, #_pdf, #_tesseract, #_ocr, #_drawing, #_python, #_pdf
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:29
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Прочитать картинку, сохранить текст, обработать текст, получить результат довольно просто. Хочу рассказать как отобразить результат для пользователя на ранее прочитанной картинке, например выделить кусочек текста содержащий целевое предложение. Такая задача будет полезна при выделении важной части отчета и демонстрации её руководству.Рисовать на картинке можно по координатам, а получить координаты нужно при чтении текста. Получить их можно с используя особый output_type: pd_dataframe = pytesseract.image_to_data(image, output_type=Output.DATAFRAME)
результат output_type = Output.DATAFRAMEПодробное описание колонок (eng)
отличие блоков от параграфов (block vs par_num)Рассмотрим подробнее столбцы с координатами, полученные для каждого слова. Распознавание считает координаты в пикселях:left - отступ от левой границы картинки до левой части словаtop - отступ от верхней границы картинки до верхней части словаwidth - длина слова (расстояние между левой и правой границами слова)height - высота слова (расстояние между нижней и верхней границами слова)Для блока или параграфа по всем словам возьмем минимальные left и top, а width и height максимальные, в результате получим координаты для выделенного текста: Получив датафрейм с координатами каждого слова можно создать датафрейс с координатами блоков, параграфов, строк, предложений.. зависит от решаемой задачи. Для рисования (геометрических фигур, вставки дополнительного текста и др.) по этим координатам потребуется получить картинку из текста и на ней рисовать, если для распознавания и получения координат вы искуственно увеличивали её - не забудьте при рисовании увеличивать точно так же.Код чтения текста, рисования cv2.rectangle по координатам выложу на GitHub =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:29
Часовой пояс: UTC + 5