Как деформировать изображение документа с помощью деформированной сетки (обратимой) - PullRequest
0 голосов
/ 17 января 2019

Я хочу деформировать изображение документа на деформированной сетке следующим образом:

enter image description here

Полукорректный подход описан здесь: ссылка

Тем не менее, меня особенно интересует обратимое отображение, в идеале, односторонняя операция (без необходимости дополнять изображение, как это было бы при использовании cv2.remap).

Пример процедуры:

Шаг 1: Получить деформированную сетку (для данного изображения)

 xx_deformed = xx + vx
 yy_deformed = yy + vy

где vx и vy описывают деформацию (см. Ссылку выше).

Шаг 2: Изображение карты на сетке:

 warped_img = one_way_operation(src, xx_deformed, yy_deformed)

Шаг 3: отменить деформацию:

 xx_inv = xx - vx
 yy_inv = yy - vy

 unwarped_img = one_way_operation(warped_img, xx_inv, yy_inv)

Ожидаемый результат:

  assert(img == unwarped_img)

Есть ли элегантный способ достичь этой цели? Я благодарен за любую подсказку.

...