Computer vision that runs anywhere C compiles
Built in 2010 to escape deployment friction, ccv packs classification, detection, and tracking into a dependency-shy C library that still ships on Raspberry Pi and iPhone alike.

What it does
ccv bundles image classification, face detection, pedestrian and car detection, text detection, object tracking, and feature extraction into a single C library. Born in 2010 from frustration with overcomplicated vision toolkits, it prioritizes deployment simplicity and compiles across Mac, Linux, FreeBSD, Windows, iOS, Android, and Raspberry Pi. Most of the library needs zero compilation flags or external dependencies.
The interesting bit
The library hides a transparent cache inside its clean API, quietly deduplicating redundant preprocessing like image pyramids and color-space conversions without forcing the caller to manage state. That “Cached” in its name is the architectural bet that a good implementation matters as much as a good algorithm.
Key highlights
- Ships with a close-to-state-of-the-art image classifier, a state-of-the-art frontal face detector, and “reasonable” pedestrian and car detectors
- Also covers text detection, long-term general object tracking, and feature-point extraction
- Compiles on anything with a “proper C compiler,” from servers to Raspberry Pi 4, with most of the library needing zero flags or dependencies
- Transparent built-in cache deduplicates image preprocessing like pyramids and color-space conversions behind a clean function interface
- Deep-learning efforts now live in the separate
libnncproject
Caveats
- Windows support carries an unexplained asterisk (
Windows\*) in the source - Convolutional networks break the otherwise zero-dependency promise by requiring BLAS
- Deep learning has migrated to
libnnc, so neural-network experimentation happens elsewhere
Verdict
Reach for ccv when you need portable, embeddable vision primitives without package-manager baggage. Skip it if you want an all-in-one deep-learning stack—the author extracted that work into the separate libnnc project.
Frequently asked
- What is liuliu/ccv?
- Built in 2010 to escape deployment friction, ccv packs classification, detection, and tracking into a dependency-shy C library that still ships on Raspberry Pi and iPhone alike.
- Is ccv open source?
- Yes — liuliu/ccv is an open-source project tracked on heatdrop.
- What language is ccv written in?
- liuliu/ccv is primarily written in C++.
- How popular is ccv?
- liuliu/ccv has 7.2k stars on GitHub.
- Where can I find ccv?
- liuliu/ccv is on GitHub at https://github.com/liuliu/ccv.