Skip to content
forked from liuliu/ccv

C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library

License

Notifications You must be signed in to change notification settings

shadmwanzia/ccv

This branch is 673 commits behind liuliu/ccv:unstable.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e90f47a · Sep 22, 2021
Feb 21, 2021
Sep 13, 2020
Apr 14, 2021
Sep 22, 2021
Mar 25, 2021
Sep 22, 2021
Mar 14, 2012
Sep 22, 2021
Nov 5, 2020
Dec 18, 2016
Oct 5, 2018
Apr 7, 2021
Oct 6, 2018
Sep 12, 2020
Nov 18, 2020
Nov 9, 2018
Feb 21, 2021
Jan 12, 2014
Apr 14, 2021
Sep 22, 2021

Repository files navigation

Build Status

  • GitHub Action: Build Status on GitHub
  • Linux x64: Build Status on Linux
  • Raspberry Pi 4: Build Status on Raspberry Pi 4
  • Jetson Nano: Build Status on Jetson Nano
  • AGX Xavier: Build Status on AGX Xavier

Backstory

I set to build ccv with a minimalism inspiration. That was back in 2010, out of the frustration with the computer vision library then I was using, ccv was meant to be a much easier to deploy, simpler organized code with a bit caution with dependency hygiene. The simplicity and minimalistic nature at then, made it much easier to integrate into any server-side deployment environments.

Portable and Embeddable

Fast forward to now, the world is quite different from then, but ccv adapts pretty well in this new, mobile-first environment. It now runs on Mac OSX, Linux, FreeBSD, Windows*, iPhone, iPad, Android, Raspberry Pi. In fact, anything that has a proper C compiler probably can run ccv. The majority (with notable exception of convolutional networks, which requires a BLAS library) of ccv will just work with no compilation flags or dependencies.

Modern Computer Vision Algorithms

One core concept of ccv development is application driven. Thus, ccv ends up implementing a handful state-of-art algorithms. It includes a close to state-of-the-art image classifier, a state-of-the-art frontal face detector, reasonable collection of object detectors for pedestrians and cars, a useful text detection algorithm, a long-term general object tracking algorithm, and the long-standing feature point extraction algorithm.

Clean Interface with Cached Image Preprocessing

Many computer vision tasks nowadays consist of quite a few preprocessing layers: image pyramid generation, color space conversion etc. These potentially redundant operations cannot be easily eliminated within a mature API. ccv provides a built-in cache mechanism that, while maintains a clean function interface, effectively does transparent cache for you.

For computer vision community, there is no shortage of good algorithms, good implementation is what it lacks of. After years, we stuck in between either the high-performance, battle-tested but old algorithm implementations, or the new, shining but Matlab algorithms. ccv is my take on this problem, hope you enjoy it.

Deep Learning

https://libnnc.org

License

ccv source code is distributed under BSD 3-clause License.

ccv's data models and documentations are distributed under Creative Commons Attribution 4.0 International License.

About

C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 94.8%
  • Cuda 2.8%
  • HTML 0.9%
  • C++ 0.4%
  • Ruby 0.2%
  • Makefile 0.2%
  • Other 0.7%