Índice:

Fotogrametria gratuita no Mac OS: de fotos a modelos 3D: 5 etapas
Fotogrametria gratuita no Mac OS: de fotos a modelos 3D: 5 etapas

Vídeo: Fotogrametria gratuita no Mac OS: de fotos a modelos 3D: 5 etapas

Vídeo: Fotogrametria gratuita no Mac OS: de fotos a modelos 3D: 5 etapas
Vídeo: COMO TIRAR FOTOS PARA GERAR UM MODELO 3D FOTORREALISTA | FOTOGRAMETRIA DIGITAL 2024, Julho
Anonim
Fotogrametria gratuita no Mac OS: de fotos a modelos 3D
Fotogrametria gratuita no Mac OS: de fotos a modelos 3D

Fotogrametria é o uso de imagens / fotografia para medir distâncias entre objetos (obrigado Webster). Mas, para fins modernos, costuma ser usado para fazer um modelo 3D de algumas coisas do mundo real sem a necessidade de um scanner 3D.

Existem muitos softwares que você pode usar para fotogrametria, incluindo algumas ótimas opções gratuitas, mas percebi que muitos (como o Meshroom) não tinham compilações para Mac disponíveis. Ou eles exigiriam uma placa gráfica com suporte CUDA (não é típico de dispositivos como um Macbook). Então isso significava alguma escavação.

Finalmente descobri este excelente artigo:

Isso levou a um script de compilação de acompanhamento:

Demorei um pouco para fazê-lo funcionar, mas, quando comecei, fiquei muito satisfeito com os resultados que comecei a obter. Então, vou quebrar as etapas um pouco mais, especialmente para os usuários de Mac que estão por aí.

Etapa 1: Obter COLMAP

COLMAP (https://colmap.github.io/install.html) é uma pequena ferramenta gratuita para começar a fotogrametria. Eu tentei sozinho no início, mas algumas das etapas posteriores exigiram CUDA. Então eu tive que começar a procurar novamente. É por isso que usaremos outro software para as etapas posteriores.

Baixar COLMAP é fácil. Você pode seguir as instruções aqui:

Ou você pode ver o lançamento mais recente em sua página github: https://github.com/colmap/colmap/releases e baixar o COLMAP-dev-mac-no-cuda.zip mais recente

Depois de baixar o zip, descompacte-o e cole o aplicativo COLMAP na pasta Aplicativos.

Etapa 2: obter e construir OpenMVS

O próximo programa que uso para ajudar a terminar de construir os modelos 3D é o OpenMVS (https://cdcseacave.github.io/openMVS/). Você terá que construir isso em sua máquina, então tentarei torná-lo o mais indolor possível.

O link para as instruções para obter e construir OpenMVS em um Mac está aqui:

mas eu tive que modificar um pouco. Aqui está o que eu fiz:

  • Baixe o Xcode na App Store

    Abra o Xcode e concorde com a licença

  • Instale o Homebrew se ainda não o tiver:
  • Instale o GIT:
  • Instale o CMake:
  • Abra um terminal e execute o seguinte script. Certifique-se de fazer isso de algum lugar onde deseja que o openMVS more (tenho uma pasta 'Projetos' no meu usuário principal):

#Install dependenciesbrew update brew install boost eigen opencv cgal ceres-solver main_path = `pwd` #VCGLib (obrigatório) git clone https://github.com/cdcseacave/VCG.git vcglib # Obtendo as fontes 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"

Versão xcodebuild -configuration

Etapa 3: Crie um roteiro de fotogrametria

Em seguida, criei um script baseado neste aqui:

Aqui está o que eu terminei (preste atenção às notas no script, pois requer que você defina alguns locais):

Photogrammetry.sh

# Esses parâmetros são específicos para o computador # Armazene o diretório atual: currDir = $ PWD

# obter o nome da pasta como variável

minhapasta = $ {PWD ## * /}

# Defina o diretório colmap (mude para onde você baixou colmap, substitua 'dev' pelo número da versão, se necessário):

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

# Defina o diretório openMVS (mude para a pasta 'bin / Release' onde você baixou e construiu openMVS)

oMVS = / Users / joecooning / Projects / openMVS_build / bin / Release

# Definir diretório de trabalho (eu crio uma pasta de espaço de trabalho temporário no meu diretório 'Projetos' para processar dados)

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

mkdir $ workDir

cp *-j.webp

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

$ colDir exaustive_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 / $ oMVS / ReconstructMesh model_dense. nível de resolução 1 model_dense_mesh.mvs $ oMVS / TextureMesh --export-type obj -o $ myfolder.obj model_dense_mesh_refine.mvs

mkdir $ currDir / model /

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

cd $ currDir

Etapa 4: execute o script

Agora que você tem o script, pode tirar fotos de um objeto do qual deseja fazer um modelo 3D. Existem outros artigos e vídeos por aí que podem dar alguns bons conselhos sobre a melhor forma de tirar fotos para fins de fotogrametria (como este: https://www.tested.com/art/makers/460142-art- foto…).

Mas essas fotos em uma pasta, copiam o script que você fez para a pasta.

De seu terminal, vá para a pasta onde estão as fotos e o script e execute:

sh Photogrammetry.sh

O script fará o resto do trabalho para você. Observe que isso pode demorar um pouco para ser processado (especialmente se você estiver usando muitas fotos de alta resolução). Eu sugeriria tentar alguns conjuntos de fotos menores primeiro. Alguns conjuntos simples de fotos de amostra podem ser encontrados aqui: (https://www.regard3d.org/index.php/demo-models)

Recomendado: