This project is currently under development
cvx is a C++ library that aims to provide a generic, STL-like, and image-agnostic interface to fast connected component labelling (CCL) and feature extraction.
Due to its STL-like interface, cvx works with any image data that can be described by random access iterators (see the examples/ folder).
At the moment, cvx supports 4- and 8-connectedness and can currently extract the following component features:
- Areas
- Centroids
- Points
- Bounding boxes
- Extents
cvx will support the following features in the future:
- Convex hulls (including their areas and additional properties)
- Outer contours
- Inner contours
- Ellipses
- Circularity
any hopefully many more...
Run the following:
mkdir cxv
cd cvx
git clone https://github.com/MisanthropicBit/cvx.git
mkdir build
cd build
cmake <options> ..
cvx can be built as a static or shared library. Below is a list of all the available options:
CVX_STATIC_LIBRARY: Buildcvxas a static libraryCVX_SHARED_LIBRARY: Buildcvxas a shared library (default)CVX_BUILD_EXAMPLES: Build all examplesCVX_BUILD_TESTS: Build all testsCVX_GEN_DOCS: Build local documentationCVX_WITH_OPENCV: Also build examples that require OpenCV, and add display support tocvx
After successully building cvx with the CVX_BUILD_TESTS flag, run make test in the build directory.