2013-11-14 5 views
0

У меня есть два изображения (отсканированные формы):Юстировка Два (2) Изображения и объекты внутри изображения с помощью C#

Первое изображение представляет собой изображение шаблона (пустая форма), а второе изображение является изображение с данными в нем (форма заполнена).

Я пытаюсь выровнять/накладывать изображение с данными на изображение шаблона для создания окончательного изображения (выравнивание объектов внутри двух изображений друг с другом).

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

Я задал вопрос с фотографиями и ссылку на видео на форуме AForge http://www.aforgenet.com/forum/viewtopic.php?f=4&t=3013, но не получил ответа.

Я также рассмотрел пример склеивания Accord.Net по адресу http://www.codeproject.com/Articles/95453/Automatic-Image-Stitching-with-Accord-NET, но он по-прежнему не разрешает мою проблему.

Любая помощь это оценена.

+0

Если заполненная форма уже содержит тот же контент, что и шаблон, чего вы надеетесь достичь, наложив их? Возможно, я неправильно понял - некоторые фотографии помогут. –

ответ

1

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

Для объяснения: во время сканирования изображения квантуются, и этот шаг квантования всегда приводит к различной выборке документа, то есть некоторые черные пиксели могут быть белыми и наоборот (не для невооруженного глаза).

Добавьте к этому, что параметры сканирования могут отличаться друг от друга, что означает разную глубину в dpi.

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

И наконец, основная проблема - растяжка. Возможно, вы не увидите, но все отсканированные документы имеют растяжение для них, из-за фидера, или -yes вы догадались, что это квантование. Это растяжение отличается от изображения к другому и не равномерно по одному изображению. Если изображение слегка перекошено, растяжение находится под углом, таким образом, т. Д. Не является однородным в разных изображениях, равно как и равномерное dpi на одном изображении, равно как и изменение однородности по длине в любом направлении.

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

  1. Применить Морфологические Открытие после вашего выравнивания: разъедать следуют расширяются. Что создает проблемы, такие как необходимость сделать размер ядра выше соответствует размеру изображения и dpi, иначе вы будете отображать некоторые символы нечитабельно. Кроме того, если содержимое изображения изменяется по размеру, вам нужно будет выполнить анализ зонирования и обнаружение blob, чтобы узнать, какое ядро ​​размера выполнить на какой части изображения, а затем применить общее сглаживание. (Этот метод ВЫСОКО не предлагается).
  2. Сделайте анализ документов ваших документов, что означает, что вы поймете, какой тип формы это, и что форма имеет каждую координату и размеры, установленные для каждой части. После того, как вы сделаете свое первоначальное выравнивание, измените размер заполненных изображений так, чтобы они соответствовали деталям оригинала (требуется изоляция объекта с помощью алгоритма заливки).

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