Я хочу извлечь информацию из отсканированной таблицы и сохранить ее в формате CSV.Прямо сейчас мой алгоритм извлечения таблиц выполняет следующие шаги:
- Применение коррекции перекоса
- Применение фильтра Гаусса для шумоподавления.
- Выполнение бинаризации с использованием Otsu thresholding
- Выполнить морфологическое открытие.
- Обнаружение Canny egde
- Выполнить грубое преобразование для получения строк таблицы.
- Удалить повторяющиеся строки (те же строки в диапазоне10 пикселей)
- фильтрует горизонтальные и вертикальные линии, используя наклон линии (наклон должен быть меньше +/- 5 градусов для горизонтали и нормали к вертикали).
Этот алгоритмхорошо работает для цифровых PDF-файлов и большинства отсканированных документов.Но некоторые документы имеют шумную таблицу, и поэтому в ней неправильно определяются строки.
Вот пример изображения, в котором мой алгоритм не работает.
Это операции, которые я делаю с этой таблицей.1. Размытие по Гауссу
2.Отсу пороговое значение
3.Морфологическое отверстие
4. Обнаружение края ручки
5.фильтрованные линии, как вы можете видеть, линии явно не определены правильно.
Может ли кто-нибудь предложить лучший метод для выделения горизонтальных и вертикальных линий из этого вида менее качественных сканов.
Заранее спасибо!!