【三维重建】openMVG单文件拎出来构建

开源软件下载下来之后如何进行改动,方法一就是在原来的工程基础上直接进行修改,使用开源软件自己的cmake方法进行构建。方法二就是将开源软件作为第三方库,将单个文件从工程里面单拎出来进行构建修改。
openmvg单个文件构建的cmake如何编写可以参考如下这个博客:
https://www.cxyzjd.com/article/qq_40084959/117234113

三维重建相关的几个程序是

main_SfMInit_ImageListing.cpp
main_ComputeFeatures.cpp
main_ComputeMatches.cpp
main_IncrementalSfM.cpp
main_GlobalSfM.cpp

cmake构建如下(拿main_SfMInit_ImageListing.cpp 示例):

cmake_minimum_required(VERSION 3.0.0)
project(mvgtest1)
set(CMAKE_CXX_STANDARD 17)

add_executable(main_SfMInit_ImageListing main_SfMInit_ImageListing.cpp)

#OpenMVG,OpenCV,Ceres

find_package(OpenCV REQUIRED)
find_package(OpenMVG REQUIRED)

find_package(Ceres REQUIRED PATHS "${CERES_PATH}/Thirdparty/ceres-solver")
include_directories(${CERES_INCLUDE_DIRS})
set(LIBS ${Ceres_LIBS_DIR}/libceres.a umfpack cxsparse glog gflags gomp
        ccolamd btf klu cholmod lapack blas camd amd pthread)
include_directories(${OPENMVG_INCLUDE_DIRS})

target_link_libraries(main_SfMInit_ImageListing
        PRIVATE
        OpenMVG::openMVG_sfm
        OpenMVG::openMVG_matching
        OpenMVG::openMVG_camera
        OpenMVG::openMVG_exif
        OpenMVG::openMVG_features
        OpenMVG::openMVG_geodesy
        OpenMVG::openMVG_geometry
        OpenMVG::openMVG_graph
        OpenMVG::openMVG_image
        OpenMVG::openMVG_linearProgramming
        OpenMVG::openMVG_matching
        OpenMVG::openMVG_matching_image_collection
        OpenMVG::openMVG_multiview
        OpenMVG::openMVG_numeric
        OpenMVG::openMVG_robust_estimation
        OpenMVG::openMVG_sfm
        OpenMVG::openMVG_system
        ${OpenCV_LIBS}
        )
FIND_PACKAGE( OpenMP REQUIRED)
if(OPENMP_FOUND)
    message("OPENMP FOUND")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()
posted @   乞力马扎罗山的雪  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示