The Celantur SDK provides privacy-preserving image blurring through automatic anonymisation of faces and license plates.
This repository contains example programs that show how to integrate the Celantur SDK into your application.
The SDK is shipped as a Debian package. Shared libraries and headers are installed under /usr/local/.
See the installation guide for setup instructions.
Start with quickstart.cpp, then explore the other examples as needed.
| Example | What it demonstrates |
|---|---|
| quickstart.cpp | Minimal CPU anonymisation with the ONNX inference engine, plus tuning inference settings such as thread count and optimisation level. |
| jpeg.cpp | Full CPU workflow: JPEG decode/encode with EXIF preservation, detection visualisation, per-class counts, and metric serialisation. |
| openvino.cpp | Compile and run a model with the OpenVINO CPU inference engine. |
| tensorrt.cpp | Compile and run a model on GPU with TensorRT, including precision and optimisation level. |
| tracking.cpp | Video processing with object tracking using a smaller model. |
| cuda.cpp | Full GPU inference pipeline without copying image data back to the CPU. |
Shared paths, processor defaults, and the common OpenCV image-processing helper live in example_common.h.
The easiest way to build the examples is with CMake:
mkdir -p build/
cmake -S . -B build/
cmake --build build/To link the SDK in your own project:
find_package(CppProcessing REQUIRED CelanturSDK common-module)
target_link_libraries(YourExecutable PRIVATE CppProcessing::CelanturSDK CppProcessing::common-module)If find_package fails, see Troubleshooting.
Copy the required files into assets/:
| File | Purpose |
|---|---|
license |
License file |
v10-static-fp32-medium-1280.onnx.enc |
Encrypted model (default in the examples) |
image.jpg |
Test image |
If you were given custom models, update the model path in example_common.h or in the relevant example source file.
After building, run the examples from build/:
./quickstart
./jpeg
./openvino
# ...CMake Error at CMakeLists.txt:10 (find_package):
By not providing "FindCppProcessing.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"CppProcessing", but CMake did not find one.
Solution: point CMake at the SDK config directory:
cmake -S . -B build/ -DCppProcessing_DIR=/usr/local/lib/cmakeerror while loading shared libraries: libprocessing.so: cannot open shared object file
Solution: add the SDK library path:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/Alternatively, adjust the executable runpath.
Logging defaults to INFO. To reduce verbosity:
export LOG_LEVEL=WARNING