Обнаружение горизонтальных линий с помощью OpenCV

Я пытаюсь найти горизонтальные и вертикальные линии на изображении, полученном из «документа». Документы - это отсканированные страницы контрактов, поэтому строки выглядят так, как вы бы видели в таблице или в блоке контракта.

Я пробовал OpenCV для работы. Реализация преобразования Хафа в OpenCV показалась мне полезной для этой работы, но я не смог найти никакой комбинации параметров, которая позволила бы ей четко найти вертикальные и горизонтальные линии. Я пробовал с распознаванием края и без него. Неудачно. Если кто-то сделал что-то подобное, мне интересно узнать, как это сделать.

См. Здесь изображение моих экспериментов с HoughP в OpenCV до и после. Это лучшее, что я мог сделать, http://dl.dropbox.com/u/3787481/Untitled%201.png

Итак, теперь мне интересно, есть ли другой вид преобразования, который я мог бы использовать, который позволяют мне надежно находить горизонтальные и вертикальные линии (а также, желательно, пунктирные линии).

Я знаю, что эта проблема разрешима, поскольку у меня есть инструменты Nuance и ABBYY OCR, которые могут надежно извлекать горизонтальные и вертикальные линии и возвращать мне ограничивающую рамку строки.

Спасибо! Патрик.

22
задан hippietrail 8 August 2017 в 00:14
поделиться