A lightweight portable library for OpenGL display, interaction, and video input abstraction, widely used in computer vision prototyping.
Pangolin is a lightweight, portable rapid development library for managing OpenGL display, interaction, and abstracting video input. It is designed to remove platform-specific boilerplate and simplify the visualization of data, particularly in computer vision and robotics applications. The library provides utilities for windowing, viewport management, video I/O, and interactive debugging.
Developers and researchers in computer vision, robotics, and 3D graphics who need a portable toolkit for prototyping algorithms with OpenGL visualization and video input/output.
Pangolin offers a minimal-boilerplate, cross-platform solution with extensive support for video I/O, intuitive 3D navigation, and interactive debugging tools like tweak variables and a Python console, making it a go-to library for rapid prototyping in computer vision.
Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Windows, Linux, OSX, and Web via Emscripten, enabling seamless deployment of prototypes across diverse environments without rewriting boilerplate.
Provides extensive wrappers for cameras and media formats with a flexible filter interface, simplifying video input/output for computer vision tasks as highlighted in the video URI examples.
Includes tweak variables for one-line definitions and a drop-down Python console for live scripting, making rapid iteration and introspection straightforward during prototyping.
Emphasizes simple interfaces and factories for windowing and video, reducing setup code and accelerating development, as stated in the library's core ethos.
The README explicitly notes that Python wheel and install targets do not work on Windows, hindering Python-based prototyping on that platform.
With many optional dependencies and platform-specific issues, setup can be challenging, requiring manual CMake configuration and troubleshooting, as seen in the 'Common Problems' section.
The master branch is for development, and users are advised to use stable tags, which may lead to breaking changes or instability for those following the latest version.