CCV (Chenguang Computer Vision) is a comprehensive computer vision library that provides foundational mathematics, kinematics, dynamics, estimation, and core CV algorithms.
The core algorithmic implementation is designed to have no third-party dependencies (no OpenCV, Eigen, or PCL in core logic), ensuring it is highly portable and cross-platform. Alongside the core library, this repository contains a variety of wrappers, demos, and GUI applications (C++, Python, Java, C#) demonstrating integrations with major industry tools like OpenCV, PCL, OpenGL, Pangolin, Qt, and ROS.
- Zero Dependencies: Core modules are written from scratch for maximum portability.
- Modular Design: Compile only what you need using CMake flags.
- High Performance: Uses a
FLOATmacro to toggle between single and double precision. - Robust Testing: Validated against industry standards (Eigen, OpenCV) using GTest.
- Well Documented: Mathematical formulas are explicitly annotated in Doxygen comments with LaTeX.
Basic math methods, matrices, and vectors.
- Random Number Generation
- Matrix & Vector Structures
- Interpolation (Linear, Bilinear)
- SVD Decomposition
Rotation matrices, Hamilton quaternions, and Euler angles.
- Rotation Matrix
- Quaternion (Hamilton)
- Euler Angle (12 conventions)
- Converters (with small-angle approximations)
State estimation for SLAM, filters, and optimization.
- Filters (EKF, Particle Filter)
- MAP (Gauss-Newton, Levenberg-Marquardt)
- Bundle Adjustment (Sparse Hessian)
- Solver Interfaces (Ceres, G2O, GTSAM)
2D/3D data structures and core vision algorithms.
- Basic Structures (Size, Point2, Point3)
- 2D Image Processing (Copy, Gaussian Filter, Pyramids)
- 2D Features (FAST)
- 2D Features (ORB)
- Camera Models & Binocular Stereo Vision
# Configure the project
# Flags: -DBUILD_TEST=ON, -DBUILD_DOCS=ON, -DWITH_OPENCV=ON, -DWITH_PCL=ON, -DWITH_GL=ON
cmake -S ./ -B build -DBUILD_TEST=ON
# Build and install
cmake --build build --target install/strip --parallel $(($(nproc) / 4))
# (For CMake >= 3.15)
# cmake --install build --prefix /opt/ccvcatkin build -j$(nproc) -DWITH_ROS=ON -DWITH_PCL=ON ccv- CVStudio: A comprehensive GUI application for computer vision using Qt.
- MedAI: Medical Artificial Intelligence project integrating computer vision and deep learning.
- CamKit: A collection of camera utilities (Android, V4L2, MIPI, RealSense, ROS).
- Language Wrappers:
- Python: Available via
pip install libccv. Seepython/libccv/img_match_graph.pyfor match visualization. - Java/C#: Desktop Image Processing (DIP) demos included.
- Python: Available via
- Industry Demos: Integration examples with OpenCV, PCL, OpenGL, Pangolin, and FFTW.
The codebase follows the Google C++ Code Style. For detailed guidelines on contributions, testing, and documentation, see CONTRIBUTING.md.
- Unit Tests: Located in
unit_test/, powered by GTest. - Documentation: Generate Doxygen docs with
cmake --build build --target docs.
This project is licensed under the MIT License - see the LICENSE file for details.


