Реализация поиска печатей на OpenCV без нейронок, регистрации и смс

3 февраля в 12:05

Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора).

У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопать данный реликт, стряхнуть с него пыль и на его основе сделать рабочее решение.

Большинство приемов, описанных здесь, можно применить и вне задачи поиска печатей. Например:

  • цветовая сегментация;
  • поиск круглых объектов / окружностей;
  • конвертация изображения в полярную систему координат;
  • пересечение объектов, Intersection over Union (IoU, Коэффициент Жаккара).

В итоге, у нас было два варианта: решать с помощью нейронных сетей или же воскресить прототип на OpenCV. Почему мы решили взять OpenCV? Ответ в конце статьи.

Примеры кода будут представлены на Python и C#. Для Python потребуется пакет opencv-python и numpy, для C# — OpenCvSharp и opencv.

Надеюсь, что вы знакомы с основными алгоритмами OpenCV. Глубоко в них я погружаться не буду, так как большая часть заслуживает отдельной, подробной статьи, но оставлю ссылки с мат. частью всем жаждущим.

Забегая вперед скажу, что алгоритм работает только с цветными изображениями (так как основан на HLS-сегментации), а для поиска окружностей используется преобразование Хафа. Изначальное качество прототипа было не очень высоким из-за ложных срабатываний на шуме, оставшемся после сегментации цвета, и ложных срабатываний на рукописном тексте.

Решили фильтровать ложные срабатывания. Использовали несколько подходов – проверку на заполненность области и перевод из полярной системы координат в прямоугольную.

Что, кого и как? Читайте в продолжении на Хабр: https://habr.com/ru/company/directum/blog/486476/

DIRECTUM | Как Никита из нефтяника продавцом стал

Как Никита из нефтяника продавцом стал

18 февраля в 11:33

«У нас нет тотального контроля, никто не стоит над душой и не проверяет количество звонков — ты сам несешь ответственность за свою работу»
___________________________________________________________
Никита Аксянов уже 5 лет продаёт Directum по всей России и немного дальше, хотя учился на нефтяника. Делимся историей того, как Никиту занесло в ИТ и выясняем, что ему помогло здесь освоиться.

Читать
DIRECTUM | Неформальная встреча: возврат НДФЛ

Неформальная встреча: возврат НДФЛ

27 января в 14:34

В компании проходят неформальные встречи.

Мероприятия, на которых рассказывают чаще не о работе, а о тех областях, в которых они стали экспертами в жизни.

Кто, если не Юля на неформальной встрече, расскажет про возврат НДФЛ?

Читать