Каков наилучший способ определения углов счета-фактуры/квитанции/листа бумаги на фотографии? Это должно использоваться для последующей коррекции перспективы до OCR.
Мой текущий подход:
RGB > Серый > Обнаружение Canny Edge с пороговым значением > Dilate (1) > Удалить мелкие объекты (6) > clear boarder objects > выбрать крупный блог на основе Convex Area. > [обнаружение угла - не реализовано]
Я не могу не думать, что для обработки такого типа сегментации должен быть более надежный "интеллектуальный" /статистический подход. У меня нет примеров обучения, но я мог бы, вероятно, собрать 100 изображений.
Более широкий контекст:
Я использую matlab для прототипа и планирую реализовать систему в OpenCV и Tesserect-OCR. Это первый из многих проблем обработки изображений, которые мне нужно решить для этого конкретного приложения. Поэтому я ищу, чтобы сверлить собственное решение и переосмыслить себя алгоритмами обработки изображений.
Вот пример изображения, с которым мне бы хотелось обработать алгоритм: если вы хотите, чтобы большие изображения находились на http://madteckhead.com/tmp
case 1 http://madteckhead.com/tmp/IMG_0773_sml.jpg case 2 http://madteckhead.com/tmp/IMG_0774_sml.jpg case 3 http://madteckhead.com/tmp/IMG_0775_sml.jpg case 4 http://madteckhead.com/tmp/IMG_0776_sml.jpg
В лучшем случае это дает:
case 1 - canny http://madteckhead.com/tmp/IMG_0773_canny.jpg case 1 - post canny http://madteckhead.com/tmp/IMG_0773_postcanny.jpg case 1 - крупнейший блог http://madteckhead.com/tmp/IMG_0773_blob.jpg
Однако в других случаях он легко справляется:
case 2 - canny http://madteckhead.com/tmp/IMG_0774_canny.jpg case 2 - post canny http://madteckhead.com/tmp/IMG_0774_postcanny.jpg case 2 - крупнейший блог http://madteckhead.com/tmp/IMG_0774_blob.jpg
Спасибо за все замечательные идеи! Я люблю SO!
РЕДАКТИРОВАТЬ: Ход трансформации прогресса
Q: Какой алгоритм будет класть строки hough, чтобы найти углы? Следуя советам ответов, я смог использовать Преобразование Хафа, выбрать линии и отфильтровать их. Мой нынешний подход довольно груб. Я сделал предположение, что счет-фактура всегда будет меньше, чем 15deg из выравнивания с изображением. В итоге я получаю разумные результаты для строк, если это так (см. Ниже). Но я не совсем уверен в подходящем алгоритме, чтобы скопировать строки (или проголосовать), чтобы экстраполировать их по углам. Линии Hough не являются непрерывными. И в шумовых изображениях могут быть параллельные линии, поэтому требуется некоторая форма или расстояние от метрик начала линии. Любые идеи?
case 1 http://madteckhead.com/tmp/IMG_0773_hough.jpg case 2 http://madteckhead.com/tmp/IMG_0774_hough.jpg case 3 http://madteckhead.com/tmp/IMG_0775_hough.jpg case 4 http://madteckhead.com/tmp/IMG_0776_hough.jpg