Задать вопрос
@ilyagod
Кодю код

OpenCV как найти некоторые прямоугольники?

Объясню что именно нужно:

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

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

Впринципе, рукописный в прямоугольниках текст будет или нет - неважно. Прямоугольники эти в документе я могу сделать хоть пунктиром, хоть другим цветом.

Капать надо, я так полагаю, в сторону opencv.
Не понятно как преобразовать документ чтобы найти нужные мне границы прямоугльников.

Как лучше всего оформить эти прямоугольники в документе чтобы было проще всего их найти? Не могу сообразить каков должен быть порядок действий ибо с компьютерным зрением доселе не сталкивался
  • Вопрос задан
  • 1262 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
ironicman
@ironicman
незнакомец
У меня была похожая задача. Я искал один прямоугольник заданных пропорций.
После первичной обработки изображений (фильтры, бинаризация и т.п.) я искал контуры алгоритмом Canny.
Среди контуров искал такие, компактность которого попадает в заданный интервал.
Компактность это отношение квадрата периметра к площади. Для контуров это величина постоянная. Таким образом я отсекал лишние контуры.

В моем случае алгоритм давал устойчивый результат, если целевой прямоугольник был жирнее прочих контуров. Но у меня были не сканы, а фото: плохое освещение, засвет, тени и проч. То есть селективный фильтр красного например цвета не работал, потому что при вечернем освещении или при теплых фильтрах на фото общий оттенок картинки был красноватый и в фокус могли попасть паразитные контуры.

Код к сожалению не под рукой. Если нужен, могу позже дописать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы