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
: Buildcvx
as a static libraryCVX_SHARED_LIBRARY
: Buildcvx
as 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.