Browse Source

openmvs 输入参数更改

master
kehan 3 weeks ago
parent
commit
0b8c384c75
  1. 2
      build.sh
  2. 16
      libs/MVS/SceneTexture.cpp
  3. 989
      libs/MVS/mask_face_occlusion.py

2
build.sh

@ -12,7 +12,7 @@ function sudo_auth(){
} }
function install_openmvs(){ function install_openmvs(){
cmake -S . -B make -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT=./vcglib -DCGAL_DATA_DIR=/usr/share/cgal cmake -S . -B make -DCMAKE_BUILD_TYPE=Release -DVCG_ROOT=./vcglib -DCGAL_DATA_DIR=/usr/share/cgal -DCMAKE_SKIP_RPATH=ON -DCMAKE_IGNORE_PATH=/root/miniconda3
cd make && make -j$(nproc) cd make && make -j$(nproc)
make install make install
} }

16
libs/MVS/SceneTexture.cpp

@ -42,6 +42,9 @@
#include "ConfigEnv.h" #include "ConfigEnv.h"
#include "cuda/MeshTextureCUDA.h" #include "cuda/MeshTextureCUDA.h"
#include <sstream> #include <sstream>
#include <filesystem>
namespace fs = std::filesystem;
// namespace py = pybind11; // namespace py = pybind11;
@ -9589,12 +9592,13 @@ bool Scene::TextureMesh(unsigned nResolutionLevel, unsigned nMinResolution, unsi
printf("id=%s\n", id.c_str()); printf("id=%s\n", id.c_str());
#ifdef MASK_FACE_OCCLUSION #ifdef MASK_FACE_OCCLUSION
std::string basePath = ""; fs::path p(baseFileName.c_str());
size_t lastSlash = baseFileName.find_last_of('/'); // 2. 获取父路径 (e.g., /path/to/data/scene)
size_t secondLastSlash = baseFileName.find_last_of('/', lastSlash - 1); fs::path parent = p.parent_path();
if (secondLastSlash == std::string::npos)
basePath = baseFileName; // 4. 转换为字符串,并附加一个路径分隔符
basePath = baseFileName.substr(0, secondLastSlash + 1); // ( / "" 会自动处理,确保 /path/to/data 变为 /path/to/data/ )
std::string basePath = (parent / "").string();
// printf("basePath=%s\n", basePath.c_str()); // printf("basePath=%s\n", basePath.c_str());

989
libs/MVS/mask_face_occlusion.py

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save