Как создать одну текстуру из N текстур? - PullRequest
0 голосов
/ 19 сентября 2008

Допустим, у меня есть N снимков объекта, сделанных с N известных позиций. У меня также есть трехмерная геометрия объекта, и я знаю все характеристики как камеры, так и объектива.

Я хочу сгенерировать уникальное гигантское изображение из имеющихся у меня N изображений, чтобы его можно было отобразить / спроецировать на поверхность объекта.

Кто-нибудь знает, с чего начать? Статьи, ссылки, книги?

Ответы [ 5 ]

1 голос
/ 19 сентября 2008
  • Генерация координат наложения текстуры для вашей геометрии
  • Создание большой пустой текстуры
  • за каждый пиксель
    • Определите точку на геометрии, которую она отображает на
    • Определите пиксель в каждом изображении, которое проецируется на эту точку
    • Раскрасьте пиксель взвешенной смесью всех этих пикселей, взвешенных по тому, насколько нормаль поверхности обращена к соответствующей камере, и игнорируйте те изображения, где между точкой и камерой есть другой фрагмент геометрии.
  • Применить вашу законченную текстуру к геометрии
1 голос
/ 19 сентября 2008

Не уверен, поможет ли это вам напрямую, но у этих ребят есть несколько потрясающих демонстраций некоторых смежных техник: http://grail.cs.washington.edu/projects/videoenhancement/videoEnhancement.htm.

0 голосов
/ 19 сентября 2008

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

0 голосов
/ 19 сентября 2008

Посмотрите на cubemapping . Это может быть полезно. Вы можете проецировать другую выпуклую форму на куб и использовать полученную текстуру в качестве обычной текстуры кубической карты.

0 голосов
/ 19 сентября 2008

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

...