Как стать автором
Обновить

Комментарии 11

А зачем вам нужны пошаговые уменьшения изображения если потом все равно применяете медианный фильтр? Мне кажется он сгладит лесенку.
сделать уменьшенную версию картинки используя «nearest neighbor» и потом размыть ее получается гораздо быстрее, чем работать с крупной картинкой, а для распознавания положения документа достаточно иметь как раз маленькое малошумное изображение.
Я про то речь и веду, что если они применяют медианный фильтр, то почему не используют «nearest neighbor»(или билинейный ) за один проход, пусть там лесенка. Пишут что проделывают с изображением итерации с уменьшением. Вероятно, в этом смысле меньше мешает текст на листе, который лучше сливается с фоном.
Сглаживание и уменьшение с использованием «nearest neighbor» — не коммутативные операции, в этом легко убедиться. У вас будут получаться совсем другие изображения.
Спасибо, занимательно.

А гипотезы строятся только для полного четырехугольника? Т.е. если один из углов выходит за границы фотографии, ничего найдено не будет? Не думали стоить гипотезы для отдельных углов и ориентироваться на вторичные признаки, что-нибудь типа «количество белой бумаги» внутри угла?

> 1) Соотношение длин всех противоположных границ должно быть, например, 0.5<a<2.
А как же чеки из икеи? :)
Ничто не мешает углам быть за пределами изображения с точки зрения описанного алгоритма. Тем не менее, конкретная реализация может иметь некоторые ограничения. Спасибо за подсказанный признак, правда, следует учесть, что бумага не обязательно должна быть белой — алгоритм должен работать и на документах с темным фоном.
Соотношение противоположных границ не должно выходить за указанные пределы. Это никак не ограничивает пропорции документа.
Соотношение противоположных границ не должно выходить за указанные пределы. Это никак не ограничивает пропорции документа.

Да, осознал.

Ничто не мешает углам быть за пределами изображения с точки зрения описанного алгоритма.

Не совсем точно выразился. За пределами изображения может быть вся сторона, и, как следствие некоторые из углов. В этом случае одну из сторон построить не получится. И соотвественно, некоторые из гипотез также не получится проверить. При этом положение страницы может быть довольно очевидным. Представим аккуратную фотографию страницы А4, практически без искажений, но у которой при этом верхняя граница страницы чуть-чуть вылезает за пределы картинки(и, соответсвенно, не видна). Правильно я понимаю, что ни одной гипотезы не будет построено и картинка, по сути, не будет обработана?

бумага не обязательно должна быть белой

Да, конечно. По большому счету это детали.
По сути, отсутствие одной из сторон документа влечет неопределенность при последующем исправлении перспективных искажений. Всегда предполагать, что их нет — тоже неправильно. Единственный вариант в этом случае — анализировать содержимое документа, искать линии, образованные строками текста (таблицами, сепараторами...), и пытаться исправить геометрические искажения, основываясь на этой информации. Описанный здесь алгоритм этой задачи не решает, для него необходимо наличие всех сторон документа в кадре. Пользователю будет предложено скорректировать полученный результат вручную.
Спасибо за статью.
Очень интересно было бы почитать про исправление проективного искажения документа.
А как вы боретесь с дисторсией (бочкообразные искажения) объектива?
Ведь в этом случае получаются не прямые линии, а дуги и преобразование Хафа не даст заметного всплеска для детектирования границы.
После уменьшения картинки, на низком разрешении, влияние бочки уже не столь велико. Гораздо большее влияние оказывает изгиб листа. Всплеск получается несколько размытым, конечно. Тем не менее, на низком разрешении этими факторами можно пренебречь.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий