Оглавление:

Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям: 5 шагов
Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям: 5 шагов

Видео: Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям: 5 шагов

Видео: Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям: 5 шагов
Видео: Фотограмметрия в Meshroom - 3D модель из фотографий 2024, Июль
Anonim
Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям
Бесплатная фотограмметрия в Mac OS: от фотографий к 3D-моделям

Фотограмметрия - это использование изображений / фотографий для измерения расстояний между объектами (спасибо Вебстеру). Но в современных целях его часто используют для создания трехмерной модели чего-либо из реального мира без необходимости использования трехмерного сканера.

Существует множество программного обеспечения, которое вы можете использовать для фотограмметрии, в том числе несколько отличных бесплатных опций, но я заметил, что для многих (например, Meshroom) нет доступных сборок для Mac. Или им потребуется видеокарта с поддержкой CUDA (что не характерно для таких вещей, как Macbook). Так что это означало немного покопаться.

Наконец-то я наткнулся на эту отличную статью:

Это привело к следующему сценарию сборки:

Мне потребовалось время, чтобы заставить его работать, но как только я заработал, я был очень доволен результатами, которые начал получать. Итак, я собираюсь разбить шаги еще немного, особенно для вас, пользователей Mac.

Шаг 1. Получите COLMAP

COLMAP (https://colmap.github.io/install.html) - хороший небольшой бесплатный инструмент для начала работы с фотограмметрией. Сначала я попробовал это самостоятельно, но для некоторых из последующих шагов требовался CUDA. Так что мне пришлось снова искать. Поэтому на последующих этапах мы будем использовать другое программное обеспечение.

Скачать COLMAP очень просто. Вы можете следовать инструкциям здесь:

Или вы можете посмотреть последнюю версию на их странице github: https://github.com/colmap/colmap/releases и загрузить последнюю версию COLMAP-dev-mac-no-cuda.zip

Загрузив zip-архив, разархивируйте его и вставьте приложение COLMAP в папку «Приложения».

Шаг 2. Получите и соберите OpenMVS

Следующая программа, которую я использую для завершения построения 3D-моделей, - это OpenMVS (https://cdcseacave.github.io/openMVS/). Вам придется построить это на своей машине, поэтому я постараюсь сделать это как можно более безболезненным.

Ссылка на инструкции по получению и сборке OpenMVS на Mac находится здесь:

но мне пришлось немного доработать. Вот что я сделал:

  • Загрузите Xcode из магазина приложений

    Откройте Xcode и согласитесь с лицензией

  • Установите Homebrew, если у вас его еще нет:
  • Установите GIT:
  • Установите CMake:
  • Откройте терминал и выполните следующий сценарий. Убедитесь, что вы делаете это откуда-то, где вы хотите, чтобы openMVS жил (у меня есть папка Projects под моим основным пользователем):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path = `pwd` #VCGLib (обязательно) git clone https://github.com/cdcseacave/VCG.git vcglib # Получение исходников OpenMVS: git clone https: / /github.com/cdcseacave/openMVS.git #Build OpenMVS mkdir openMVS_build && cd openMVS_build cmake…/openMVS -DCMAKE_BUILD_TYPE = Release -DVCG_ROOT = "$ main_path / vcglib" -G "Xcode"

xcodebuild -configuration Release

Шаг 3. Создайте сценарий фотограмметрии

Затем я создал сценарий на основе того, что отсюда:

Вот что у меня получилось (обратите внимание на примечания в скрипте, поскольку он требует, чтобы вы указали некоторые местоположения):

Photogrammetry.sh

# Эти параметры относятся к компьютеру # Сохранить текущий каталог: currDir = $ PWD

# получить имя папки как переменную

myfolder = $ {PWD ## * /}

# Установить каталог colmap (замените его на то место, где вы скачали colmap, при необходимости замените 'dev' номером версии):

colDir = / Applications / COLMAP.app / Contents / MacOS / colmap

# Установите каталог openMVS (замените его на папку bin / Release, в которую вы скачали и собрали openMVS)

oMVS = / Пользователи / joecooning / Projects / openMVS_build / bin / Release

# Установить рабочий каталог (я создаю временную папку рабочей области в моем каталоге 'Projects' для обработки данных)

workDir = / Users / joecooning / Projects / 3dscans / workspace / $ myfolder /

mkdir $ workDir

cp *-j.webp

$ colDir feature_extractor --database_path database.db --image_path.

$ colDir excustive_matcher --database_path database.db mkdir sparse $ colDir mapper --database_path database.db --image_path. --output_path sparse $ colDir model_converter --input_path sparse / 0 --output_path model.nvm --output_type NVM $ oMVS / InterfaceVisualSFM model.nvm $ oMVS / DensifyPointCloud model.mvs $ oMVS / ReconstructMesh / RefsMesh_Mesh_Mesh_Model_dense.mos уровень разрешения 1 model_dense_mesh.mvs $ oMVS / TextureMesh --export-type obj -o $ myfolder.obj model_dense_mesh_refine.mvs

mkdir $ currDir / модель /

cp *.obj $ currDir / model / cp *.mtl $ currDir / model / cp * Kd-j.webp

cd $ currDir

Шаг 4: Запустите сценарий

Теперь, когда у вас есть сценарий, вы можете сфотографировать объект, из которого хотите сделать 3D-модель. Есть и другие статьи и видео, которые могут дать вам отличные советы о том, как лучше всего делать фотографии для фотограмметрии (например, эта: https://www.tested.com/art/makers/460142-art- Фото…).

Но эти фотографии в папку, копию сценария, который вы создали в папку.

С вашего терминала перейдите в папку, где находятся фотографии и скрипт, и запустите:

sh Photogrammetry.sh

Затем скрипт сделает остальную работу за вас. Обратите внимание, что это может занять довольно много времени (особенно если вы используете много фотографий в высоком разрешении). Я бы посоветовал сначала попробовать несколько меньших наборов фотографий. Здесь можно найти несколько простых образцов фотографий: (https://www.regard3d.org/index.php/demo-models)

Рекомендуемые: