git: 915ef0a2055b - main - graphics/poselib: Minimal solvers for calibrated camera pose estimation
Date: Tue, 10 Dec 2024 09:07:05 UTC
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=915ef0a2055bea37cfb77f2186a8394f16423646 commit 915ef0a2055bea37cfb77f2186a8394f16423646 Author: Robert Clausecker <fuz@FreeBSD.org> AuthorDate: 2024-12-09 12:21:50 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2024-12-10 09:03:00 +0000 graphics/poselib: Minimal solvers for calibrated camera pose estimation PoseLib provides a collection of minimal solvers for camera pose estimation. The focus is on calibrated absolute pose estimation problems from different types of correspondences (e.g. point-point, point-line, line-point, line-line). The goals of this project are to provide - Fast and robust implementation of the current state-of-the-art solvers. - Consistent calling interface between different solvers. - Minimize dependencies, both external (currently only Eigen) and internal. Each solver is (mostly) stand-alone, making it easy to extract only a specific solver to integrate into other frameworks. - Robust estimators (based on LO-RANSAC) that just works out-of-the-box for most cases. WWW: https://github.com/PoseLib/PoseLib --- graphics/Makefile | 1 + graphics/poselib/Makefile | 22 +++++++++++ graphics/poselib/distinfo | 3 ++ graphics/poselib/files/patch-CMakeLists.txt | 15 ++++++++ graphics/poselib/pkg-descr | 15 ++++++++ graphics/poselib/pkg-plist | 59 +++++++++++++++++++++++++++++ 6 files changed, 115 insertions(+) diff --git a/graphics/Makefile b/graphics/Makefile index 396df96c5b17..c053e5b41ba9 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -855,6 +855,7 @@ SUBDIR += poppler-qt5 SUBDIR += poppler-qt6 SUBDIR += poppler-utils + SUBDIR += poselib SUBDIR += potrace SUBDIR += povray-meta SUBDIR += povray37 diff --git a/graphics/poselib/Makefile b/graphics/poselib/Makefile new file mode 100644 index 000000000000..fb5f45375dc2 --- /dev/null +++ b/graphics/poselib/Makefile @@ -0,0 +1,22 @@ +PORTNAME= PoseLib +DISTVERSIONPREFIX= v +DISTVERSION= 2.0.4 +CATEGORIES= graphics + +MAINTAINER= fuz@FreeBSD.org +COMMENT= Minimal solvers for calibrated camera pose estimation + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/eigen3.pc:math/eigen3 + +USES= cmake pkgconfig +USE_GITHUB= yes +USE_LDCONFIG= yes + +OPTIONS_DEFINE= NATIVE +NATIVE_CMAKE_BOOL= MARCH_NATIVE +CMAKE_ON= BUILD_SHARED_LIBS + +.include <bsd.port.mk> diff --git a/graphics/poselib/distinfo b/graphics/poselib/distinfo new file mode 100644 index 000000000000..ed3c2c5b8bb7 --- /dev/null +++ b/graphics/poselib/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1733745905 +SHA256 (PoseLib-PoseLib-v2.0.4_GH0.tar.gz) = caa0c1c9b882f6e36b5ced6f781406ed97d4c1f0f61aa31345ebe54633d67c16 +SIZE (PoseLib-PoseLib-v2.0.4_GH0.tar.gz) = 198206 diff --git a/graphics/poselib/files/patch-CMakeLists.txt b/graphics/poselib/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..b1553e6ddad4 --- /dev/null +++ b/graphics/poselib/files/patch-CMakeLists.txt @@ -0,0 +1,15 @@ +--- CMakeLists.txt.orig 2024-12-09 12:10:16 UTC ++++ CMakeLists.txt +@@ -28,10 +28,10 @@ else() + # If you change this, make sure to update the corresponding line in the pybind CMakeLists + if (MARCH_NATIVE) + target_compile_options(${LIBRARY_NAME} PRIVATE +- -march=native -Wall -Werror -fPIC -Wno-ignored-optimization-argument) ++ -march=native -Wall -fPIC -Wno-ignored-optimization-argument) + else() + target_compile_options(${LIBRARY_NAME} PRIVATE +- -Wall -Werror -fPIC) ++ -Wall -fPIC) + endif() + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + target_compile_options(${LIBRARY_NAME} PRIVATE diff --git a/graphics/poselib/pkg-descr b/graphics/poselib/pkg-descr new file mode 100644 index 000000000000..4461d321a05b --- /dev/null +++ b/graphics/poselib/pkg-descr @@ -0,0 +1,15 @@ +PoseLib provides a collection of minimal solvers for camera pose +estimation. The focus is on calibrated absolute pose estimation +problems from different types of correspondences (e.g. point-point, +point-line, line-point, line-line). + +The goals of this project are to provide + + - Fast and robust implementation of the current state-of-the-art + solvers. + - Consistent calling interface between different solvers. + - Minimize dependencies, both external (currently only Eigen) and + internal. Each solver is (mostly) stand-alone, making it easy + to extract only a specific solver to integrate into other frameworks. + - Robust estimators (based on LO-RANSAC) that just works out-of-the-box + for most cases. diff --git a/graphics/poselib/pkg-plist b/graphics/poselib/pkg-plist new file mode 100644 index 000000000000..c03974dd1287 --- /dev/null +++ b/graphics/poselib/pkg-plist @@ -0,0 +1,59 @@ +include/PoseLib/alignment.h +include/PoseLib/camera_pose.h +include/PoseLib/misc/colmap_models.h +include/PoseLib/misc/decompositions.h +include/PoseLib/misc/essential.h +include/PoseLib/misc/qep.h +include/PoseLib/misc/quaternion.h +include/PoseLib/misc/re3q3.h +include/PoseLib/misc/sturm.h +include/PoseLib/misc/univariate.h +include/PoseLib/poselib.h +include/PoseLib/robust.h +include/PoseLib/robust/bundle.h +include/PoseLib/robust/estimators/absolute_pose.h +include/PoseLib/robust/estimators/homography.h +include/PoseLib/robust/estimators/hybrid_pose.h +include/PoseLib/robust/estimators/relative_pose.h +include/PoseLib/robust/jacobian_impl.h +include/PoseLib/robust/lm_impl.h +include/PoseLib/robust/ransac.h +include/PoseLib/robust/ransac_impl.h +include/PoseLib/robust/sampling.h +include/PoseLib/robust/utils.h +include/PoseLib/solvers/gen_relpose_5p1pt.h +include/PoseLib/solvers/gen_relpose_6pt.h +include/PoseLib/solvers/gen_relpose_upright_4pt.h +include/PoseLib/solvers/gp3p.h +include/PoseLib/solvers/gp4ps.h +include/PoseLib/solvers/homography_4pt.h +include/PoseLib/solvers/p1p2ll.h +include/PoseLib/solvers/p2p1ll.h +include/PoseLib/solvers/p2p2pl.h +include/PoseLib/solvers/p3ll.h +include/PoseLib/solvers/p3p.h +include/PoseLib/solvers/p3p_ding.h +include/PoseLib/solvers/p4pf.h +include/PoseLib/solvers/p5lp_radial.h +include/PoseLib/solvers/p6lp.h +include/PoseLib/solvers/relpose_5pt.h +include/PoseLib/solvers/relpose_6pt_focal.h +include/PoseLib/solvers/relpose_7pt.h +include/PoseLib/solvers/relpose_8pt.h +include/PoseLib/solvers/relpose_upright_3pt.h +include/PoseLib/solvers/relpose_upright_planar_2pt.h +include/PoseLib/solvers/relpose_upright_planar_3pt.h +include/PoseLib/solvers/ugp2p.h +include/PoseLib/solvers/ugp3ps.h +include/PoseLib/solvers/ugp4pl.h +include/PoseLib/solvers/up1p1ll.h +include/PoseLib/solvers/up1p2pl.h +include/PoseLib/solvers/up2p.h +include/PoseLib/solvers/up4pl.h +include/PoseLib/types.h +include/PoseLib/version.h +lib/cmake/PoseLib/PoseLibConfig.cmake +lib/cmake/PoseLib/PoseLibConfigVersion.cmake +lib/cmake/PoseLib/PoseLibTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/PoseLib/PoseLibTargets.cmake +lib/libPoseLib.so