Деформация прямого изображения - PullRequest
1 голос
/ 19 мая 2011

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

Итак, вкратце мои вопросы:

1 - Можно ли рассчитать обратное преобразование для каждого пикселя-получателя, чтобы сделать это деформацией назад?

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

Любая помощь приветствуется. Благодарю.

1 Ответ

1 голос
/ 20 мая 2011

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

...