Преобразование изображения: точка-точка - PullRequest
1 голос
/ 19 октября 2010

Hei!

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

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

Какими будут разные алгоритмы, которые делают это для любого количества точек, и каковы их преимущества и недостатки?

Ответы [ 2 ]

1 голос
/ 19 октября 2010

Кажется, вы хотите, чтобы изображение проходило (возможно) нелинейное преобразование равномерно по всем точкам. Похоже, это в точности эквивалентно полиномиальной регрессии по координатам точек.

0 голосов
/ 19 октября 2010

Один из способов - считать ваши координаты (x, y) определяющими комплексное число x + i * y.Затем у вас есть исходные точки p [0] .. p [n] и точки назначения q [0] .. q [n], а затем вы можете найти комплексный полином P степени n, который отображает каждый p [j] в q [j], и используйте этот многочлен для отображения остальных точек.Обычный способ найти многочлен - это использовать многочлены Лагранжа, например, здесь .(Здесь обсуждаются реальные полиномы Лагранжа, но формулы для сложных точно такие же).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...