Вопрос

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

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

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

Есть идеи, как совместить изображение шаблона с входящим изображением?

ОБНОВЛЕНИЕ 1:

Выкладываю пример изображения из Википедия страница, но в монохромном формате, поскольку мое изображение находится в монохромном формате.alt text

Это было полезно?

Решение

Основной ответ — написать функцию, которая принимает два изображения и 2D-преобразование и сообщает вам, насколько они выровнены после применения преобразования к целевому изображению.Функция должна быть непрерывной на основе преобразования и иметь локальный минимум (0), при котором изображения идеально выровнены.Это называется функцией стоимости.

Затем используйте любой алгоритм оптимизации для функции и входных данных — вы пытаетесь оптимизировать преобразование (перемещение, масштабирование, вращение).Примерами являются восхождение на холм, генетика, имитация отжига и т. д.

Существуют продукты, которые это делают — обычно они называются «Распознавание форм», «Регистрация форм», «Обработка форм» и т. д.Некоторые из них представляют собой SDK, но есть и приложения, которые могут делать это без программирования.

Отказ от ответственности:Я работаю в Atalasoft, где мы продаем Дополнение «Обработка форм» в наш SDK для обработки изображений .NET.

Другие советы

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

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

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

Если у вас есть ответ на этот вопрос, все остальные будут более простыми - сама разница довольно простой алгоритм.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top