Image processing
21 February 2014

Применение преобразования Пуассона для бесшовного наложения изображений

From Sandbox
В задачах машинного зрения и автоматизированной обработки изображений зачастую встречается задача бесшовного наложения изображений. Для наглядности, сразу приведу пример.



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

Постановка задачи

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

image


Для бесшовного блендинга необходимо чтобы градиент изображения А в области изображения В равнялся градиенту изображения В. Восстановление цвета на области В будет осуществляться на основе градиента в области В и данных о цвете изображения А на границе области В.
Это означает что для получения результирующего изображения необходимо восстановить изображение по его градиенту, т.е. решить задачу Пуассона.
Ниже приведено решение поставленной задачи для монотонного изображения. Для RGB изображения метод применяется к каждому каналу.

Решение

Определим границу вставляемой области следующим образом:

image


И вычислим градиент накладываемого изображения:

image


Теперь все данные имеются и мы можем составить уравнение Пуассона:

image

где (x, y) — координата текущего пикселя, N — число соседних пикселей не включая границы (не более 4), (dx, dy) — координаты соседних пикселей, могут принимать значения из множества {(-1, 0), (1, 0), (0, -1), (0, 1)}

Таким образом, для каждого неизвестного пикселя составляется уравнение. В итоге мы получим систему с M неизвестными, где М — число пикселей вставляемого изображения. Остается только решить эту систему. Методов для решения этой довольно много, но для решения обычно используют метод Якоби и метод Гаусса-Зейделя.

Зачастую, в накладываемой области смешивают градиентное поле с исходным изображением. Например, берут максимальное значение градиентов А или В в определенной точки. Лучше всего почувствовать разницу между исходным и комбинированным градиентом на примере.

Восстановление по градиенту изображения В:

image


Восстановление по максимальному градиенту изображений А и В:

image


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

image


А вот как бы выглядело наложение радуги без комбинации градиентов

image


Применение преобразование блендинга Пуассона

  • Замена лиц / вставка новых объектов в кадр
  • Наложение объектов в кадр, имеющих прозрачную структуру
  • Сглаживание изображений при создании панорам
  • Сглаживание изображений при создании 3D-моделей объектов


Ссылки


+66
33.5k 283
Comments 33
Top of the day