Как сгенерировать одну текстуру из N текстур?

StackOverflow https://stackoverflow.com/questions/101735

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top