Создание приложения для 3D-моделирования - сложная задача, и достижение его на высоком уровне требует большого изучения. Чтобы указать вам правильное направление, вы, скорее всего, захотите выполнить то, что называется Structure-from-Motion (SfM) или Одновременная локализация и сопоставление (SLAM).
Если вы хотите запрограммировать это самостоятельно OpenCV - хорошее место для начала, если вы знаете C ++ или Python. Типичный конвейер включает в себя; извлечение и сопоставление характеристик, оценка положения камеры, триангуляция, а затем оптимизация с использованием настройки пучка. Все конвейеры для SfM и SLAM следуют этим общим шагам (за исключением конечно). Все эти шаги возможны в OpenCV, хотя Googles Ceres Solver - отличная настройка пакета с открытым исходным кодом. SfM обычно идет на плотное сопоставление, где вы получаете очень плотные облака точек, которые хороши для создания сеток. Бесплатный конвейер с открытым исходным кодом для этого OpenSfM . Другим хорошим источником для инструментов является OpenMVG , в котором есть все инструменты, необходимые для создания полного конвейера.
SLAM аналогичен SfM, однако больше ориентирован на приложения в реальном времени и меньше на абсолютную точность. Приложения для этого в большей степени сосредоточены вокруг робототехники, где робот хочет знать, где он находится относительно его среды, но он не настолько озабочен абсолютной точностью. Лучшие алгоритмы SLAM: ORB-SLAM и LSD-SLAM . Оба они с открытым исходным кодом и могут быть бесплатно внедрены в ваше собственное программное обеспечение.
Так что на самом деле все зависит от того, что вы хотите ... SfM для высокой точности, SLAM для реального времени. Если вам нужна хорошая 3D-модель, я бы порекомендовал использовать существующие алгоритмы, поскольку они очень хороши.
Лучшее на мой взгляд коммерческое программное обеспечение ... Agisoft Photoscan . Если бы вы могли сделать что-то наполовину лучше, я был бы очень впечатлен. Чтобы ответить на ваш вопрос, какие ресурсы вам потребуются. На мой взгляд, навыки python / c ++, умение хорошо гуглить и свободное время, чтобы правильно читать фотограмметрию и SfM.