Skip to content

VVingerfly/awesome-cpp-libs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 

Repository files navigation

Awesome Cpp Libs

Awesome

An awesome & curated list of cpp libraries for CV/CGers.


Table of Contents


Cpp

Base Libraries

Stars Forks Watchers License

single-file public domain (or MIT licensed) libraries for C/C++

Stars Forks Watchers License

Abseil is an open-source collection of C++ code (compliant to C++11) designed to augment the C++ standard library.

Command Line Parser

Stars Forks Watchers License

Lightweight C++ command line option parser.

Logging

Stars Forks Watchers License

spdlog is a very fast, header-only/compiled, C++ logging library.

Stars Forks Watchers License

plog is a portable, simple and extensible C++ logging library, pretty powerful logging library in about 1000 lines of code.

Stars Forks Watchers License

loguru is a lightweight and flexible C++ logging library.

Profiler

Stars Forks Watchers License

easy_profiler is lightweight cross-platform profiler library for C++.

Stars Forks Watchers License

Microprofile is a embeddable profiler in a few files, written in C++

Stars Forks Watchers License

Remotery is a realtime CPU/GPU profiler hosted in a single C file with a viewer that runs in a web browser.

Format String

Stars Forks Watchers License

{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams.

Stars Forks Watchers License

tinyformat.h is a type safe printf replacement library in a single C++ header file.

Testing

Stars Forks Watchers License

A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)

Serialization

Stars Forks Watchers License

cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone.

Stars Forks Watchers License

JSON for Modern C++

Stars Forks Watchers License

JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings.

Stars Forks Watchers License

A fast JSON parser/generator for C++ with both SAX/DOM style API

GUI

Stars Forks Watchers License

Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline enabled application. It is fast, portable, renderer agnostic and self-contained (no external dependencies).

Stars Forks Watchers License

NanoGUI is a minimalistic cross-platform widget library for OpenGL 3.x or higher. It supports automatic layout generation, stateful C++11 lambdas callbacks, a variety of useful widget types and Retina-capable rendering on Apple devices thanks to NanoVG by Mikko Mononen. Python bindings of all functionality are provided using pybind11.

Visualization

Stars Forks Watchers License

Matplot++: A C++ Graphics Library for Data Visualization.

Stars Forks Watchers License

ImPlot is an immediate mode, GPU accelerated plotting library for Dear ImGui.

GPU

Stars Forks Watchers License

A C++ GPU Computing Library for OpenCL

Stars Forks Watchers License

VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP

Utility

Stars Forks Watchers License

Magic Enum C++ is a header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.

Math

Linear Algebra

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

Stars Forks Watchers License

linalg.h is a single header, public domain, short vector math library for C++.

Stars Forks Watchers License

NumCpp is a C++ implementation of the Python Numpy library.

Optimization

Stars Forks Watchers License

Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. Ceres Solver can solve two kinds of problems.

  • Non-linear Least Squares problems with bounds constraints.
  • General unconstrained optimization problems.

Stars Forks Watchers License

Ipopt (Interior Point OPTimizer) is a software package for large-scale nonlinear optimization.

Stars Forks Watchers License

NLopt is a library for nonlinear local and global optimization, for functions with and without gradient information. It is designed as a simple, unified interface and packaging of several free/open-source nonlinear optimization libraries.

Stars Forks Watchers License

AMGCL is a header-only C++ library for solving large sparse linear systems with algebraic multigrid (AMG) method.

Stars Forks Watchers License

OptimLib is a lightweight C++ library of numerical optimization methods for nonlinear functions.

Automatic Differentiation

Stars Forks Watchers License

autodiff is a C++17 library that uses modern and advanced programming techniques to enable automatic computation of derivatives in an efficient, easy, and intuitive way.

Stars Forks Watchers License

FastAD is a header-only C++ template library for automatic differentiation supporting both forward and reverse mode.

Stars Forks Watchers License

Clad is a source-transformation automatic differentiation (AD) library for C++, implemented as a plugin for the Clang compiler.

Stars Forks Watchers License

Adept-2 is combined array and automatic differentiation library in C++.

Statistics

Stars Forks Watchers License

StatsLib is a templated C++ library of statistical distribution functions, featuring unique compile-time computing capabilities and seamless integration with several popular linear algebra libraries.

CV

Image Processing

Stars Forks Watchers License

Open Source Computer Vision Library.

Stars Forks Watchers License

C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library.

Stars Forks Watchers License

CImg Library is a small and open-source C++ toolkit for image processing.

Stars Forks Watchers License

The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching.

Structure from Motion

Stars Forks Watchers License

Theia is an open source library for multiview geometry and structure from motion. It is designed to be very efficient, scalable, and accurate. All steps of the pipeline are designed to be modular so that code is easy to read and easy to extend.

Stars Forks Watchers License

COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.

Stars Forks Watchers License

Bundler Structure from Motion Toolkit

Multi-View Reconstruction

Stars Forks Watchers License

OpenMVG (Multiple View Geometry) is a library for computer-vision scientists and especially targeted to the Multiple View Geometry community. It is designed to provide an easy access to the classical problem solvers in Multiple View Geometry and solve them accurately.

Stars Forks Watchers License

OpenMVS (Multi-View Stereo) is a library for computer-vision scientists and especially targeted to the Multi-View Stereo reconstruction community. The input is a set of camera poses plus the sparse point-cloud and the output is a textured mesh.

Stars Forks Watchers License

AliceVision is a Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms.

CG

Geometry Processing

Stars Forks Watchers License

A simple C++ geometry processing library.

Stars Forks Watchers License

MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured large 3D triangular meshes.

Stars Forks Watchers License

The Computational Geometry Algorithms Library (CGAL), a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.

Stars Forks Watchers License

Geogram is a programming library with geometric algorithms. And Graphite is an experimental 3D modeler built around geogram.

Stars Forks Watchers License

A modern library for 3D data processing.

Stars Forks Watchers License

The Visualization and Computer Graphics Library (VCGlib for short), a open source, portable, C++, templated, no dependency, library for manipulation, processing, cleaning, simplifying triangle meshes. And it is the base of Meshlab.

A flexible geometry modeling and processing framework.

Stars Forks Watchers License

Geometry-central is a modern C++ library of data structures and algorithms for geometry processing, with a particular focus on surface meshes.

Stars Forks Watchers License

The Polygon Mesh Processing Library is a modern C++ open-source library for processing and visualizing polygon surface meshes.

Stars Forks Watchers License

A generic programming header only C++ library for processing polygonal and polyhedral meshes.

Stars Forks Watchers License

Easy3D is an open-source library for 3D modeling, geometry processing, and rendering. It is implemented in C++ and designed with an emphasis on simplicity and efficiency.

Stars Forks Watchers License

A lightweight, modular, and cross-platform (Windows, OSX, Linux) 3D geometry processing environment.

PointCloud Processing

Stars Forks Watchers License

The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

Stars Forks Watchers License

cilantro is a lean and fast C++ library for working with point cloud data.

Stars Forks Watchers License

Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.

Stars Forks Watchers License

CloudCompare is a 3D point cloud (and triangular mesh) processing software. It was originally designed to perform comparison between two 3D points clouds (such as the ones obtained with a laser scanner) or between a point cloud and a triangular mesh. It relies on an octree structure that is highly optimized for this particular use-case. It was also meant to deal with huge point clouds (typically more than 10 million points, and up to 120 million with 2 GB of memory).

Visualization

Stars Forks Watchers License

polyscope is a C++/Python viewer and user interface for 3D data, like meshes and point clouds.

Triangulation

A two-dimensional quality mesh generator and delaunay triangulator.

Stars Forks Watchers License

CDT is a C++ library for generating constraint or conforming Delaunay triangulations.

Texture&Atlas

Stars Forks Watchers License

MVS-Texturing is a project that focuses on texturing 3D reconstructions from multi-view stereo images.

Stars Forks Watchers License

xatlas is a small C++11 library with no external dependencies that generates unique texture coordinates suitable for baking lightmaps or texture painting.

Stars Forks Watchers License

UVAtlas is a shared source library for creating and packing an isochart texture atlas.

Stars Forks Watchers License

Ptex is a texture mapping system developed by Walt Disney Animation Studios for production-quality rendering.

Transformation

Stars Forks Watchers License

manif is a header-only C++11 Lie theory library for state-estimation targeted at robotics applications.

Stars Forks Watchers License

Sophus is a c++ implementation of Lie groups commonly used for 2d and 3d geometric problems (i.e. for Computer Vision or Robotics applications). Among others, this package includes the special orthogonal groups SO(2) and SO(3) to present rotations in 2d and 3d as well as the special Euclidean group SE(2) and SE(3) to represent rigid body transformations (i.e. rotations and translations) in 2d and 3d. It is released under a MIT license.

Registration

Stars Forks Watchers License

libpointmatcher is a modular library implementing the Iterative Closest Point (ICP) algorithm for aligning point clouds. It has applications in robotics and computer vision. \nIt is released under a permissive BSD license.

Stars Forks Watchers License

OpenGR is a set C++ libraries for 3D Global Registration. And it aims at providing several state of the art global registration algorithms for 3D data.

Stars Forks Watchers License

FastGlobalRegistration is an open source C++ implementation based on the technique presented in the paper "Fast Global Registration, ECCV 2016."

Stars Forks Watchers License

Super fast implementation of ICP in CUDA for compute capable devices 3.5 or higher. Requires CUDA, includes Pangolin, Eigen and Sophus third party submodules

Nearest Neighbors

ANN is a library written in C++, which supports data structures and algorithms for both exact and approximate nearest neighbor searching in arbitrarily high dimensions.

Stars Forks Watchers License

A C++11 header-only library for Nearest Neighbor (NN) search with KD-trees.

Collision

Stars Forks Watchers License

FCL is a library for performing three types of proximity queries on a pair of geometric models composed of triangles.

Rendering

Stars Forks Watchers License

bgfx is a cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Stars Forks Watchers License

A tiny yet powerful rendering library.

Stars Forks Watchers License

Yocto/GL is a collection of small C++17 libraries for building physically-based graphics algorithms released under the MIT license.

Stars Forks Watchers License

Filament is a real-time physically based rendering engine for Android, iOS, Linux, macOS, Windows, and WebGL. It is designed to be as small as possible and as efficient as possible on Android.

Animation

Stars Forks Watchers License

ozz-animation is an open source c++ 3d skeletal animation library. It provides runtime character animation functionalities (sampling, blending...), with the toolset to import major DCC formats (Collada, Fbx, glTF...). It proposes a low-level renderer and game-engine agnostic implementation, focusing on performance and memory constraints with a data-oriented design.

Simulation

Stars Forks Watchers License

Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.

Stars Forks Watchers License

Pinocchio is a fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.

Modeling

Stars Forks Watchers License

OpenSCAD is a software for creating solid 3D CAD objects.

Stars Forks Watchers License

Dust3D is a cross-platform open-source 3D modeling software. Auto UV unwrapping, auto rigging with PBR Material support, pose and motion authoring all in one.

Others

Stars Forks Watchers License

C++ implementation of the 3D QuickHull algorithm.

Stars Forks Watchers License

Qhull is a general dimension convex hull program. It also generates Delaunay triangulations, Voronoi diagrams, furthest-site Voronoi diagrams, and halfspace intersections about a point.

Stars Forks Watchers License

Cork is designed to support Boolean operations between triangle meshes.

About

😎Collection of awesome cpp libraries for cv/cg researchers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published