Я пытаюсь извлечь текст из таблиц с помощью openCV и Azure read. Цель состоит в том, чтобы извлечь текстовый столбец разумно. Итак, первым делом необходимо определить вертикальные линии на изображении (таблице). Теперь, используя координаты этих вертикальных линий в качестве крайних границ, мы идентифицируем текст между этими линиями.
Таким образом получается текст на основе фильтра вертикальной линии.
Хотя скрипт работает нормально, я наблюдал сценарий, в котором координаты строки встречаются неправильно для одного конкретного типа (Тип A) таблиц. Итак, после отладки мы заметили, что проблема связана с заголовком таблиц (только для типа A).
Итак, когда мы удалили (обрезали изображение) часть заголовка таблиц (типа A), координаты вертикальной линии стали подходящими.
Форматирование координат как (x, y, w, h). x и y - самая верхняя точка вертикальной линии. w - ширина линии. (по вертикали это максимум почти 2 пикселя). h - высота вертикальной линии.
Здесь я прикрепляю два сценария ios: 1. Таблица с заголовками - с неправильными координатами. Фактическое изображение , Бинаризованные вертикальные линии фактического изображения
координаты вертикальных линий с заголовками (слева направо) - [(9, 0, 14, 439), (213, 0, 93, 426), (337, 28, 1, 398), (397, 29, 1, 410), (470, 29, 1, 397), (522, 0, 12, 439)]
Таблица без заголовков - с указанием соответствующих координат.
Изображение без заголовков ,
Без заголовков координаты вертикальных линий без заголовков (слева направо) - [(7, 0, 1, 404), (303, 0, 1, 391), (335, 0, 1, 391), (395, 0, 1, 404), (468, 0, 1, 391), (531, 0, 1, 404)]
Мы можем наблюдать, как координаты второй линии сильно различаются, в то время как другие линии близки. Итак, проблема в том, что координаты второй вертикальной линии на изображении с заголовками неверны. Что может быть причиной?