преобразования изображения - PullRequest
2 голосов
/ 10 марта 2011

Итак, я использую gnu-gsl и CImg для реализации некоторых фундаментальных проективных пространственных методов для аффинного и метрического исправления.

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

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

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

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

1 Ответ

1 голос
/ 11 марта 2011

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

x' = 1.01*x + 0.0*y + 5;
y' = 0.0*x + 0.98*y + 10;

Теперь пиксель в (10,10) должен отображаться в (15.1,19.8), верно?

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

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

...