• Stars
    star
    7,077
  • Rank 5,509 (Top 0.2 %)
  • Language
    C
  • License
    Other
  • Created about 14 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Build Status

  • GitHub Action: Build Status on GitHub Ubuntu Build Status on GitHub macOS
  • 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.

More Repositories

1

swift-diffusion

Swift
423
star
2

dflat

Structured Data Store for Mobile
Swift
299
star
3

klaus

A show-case of a state-of-the-art image classifier on iOS devices from libccv.org
C
139
star
4

s4nnc

Swift for NNC
Swift
69
star
5

rules_cuda

Smarty
20
star
6

co

Example implementation of coroutine in C
C
19
star
7

docomputersdream

http://docomputersdream.org
JavaScript
19
star
8

swift-mujoco

Swift Binding for MuJoCo: https://mujoco.org/
Swift
18
star
9

case

case is a simple test framework for c
C
17
star
10

parallable

A tiny javascript snippet to enable you write web worker simpler and easier
JavaScript
16
star
11

swift-fickling

Swift
7
star
12

rfancontrol

Fan Control Program for my 4 RTX 2080 Ti Watercooling Workstation
C++
6
star
13

cvwld

Weber's Local Descriptor
C++
6
star
14

swift-llm

Starlark
5
star
15

optic

Playground to test different approaches for CUDA kernel performance
Cuda
5
star
16

ndqi

Non-structural Data Query Interface
C
4
star
17

cubic

strip down version of libfreenect to experiment multi-Kinect devices collaboration
C
4
star
18

cvess

Extended Self-Similarity Descriptor
C++
4
star
19

kmonkey

KMonkey automatically patches your program with its llvm intermediate code.
Shell
4
star
20

l1cs

minimize L1 norm with q constraint
C++
3
star
21

pwb

Pairwise Boosting
C++
3
star
22

model.php

A super simple model class for redis interaction
PHP
3
star
23

php-sdk

PHP SDK for the Facebook API
PHP
3
star
24

swift-sentencepiece

SentencePiece's Swift wrapper.
Starlark
2
star
25

cvRBM

Restricted Boltzmann Machine implemented in 2008
C++
2
star
26

libnnc.org

HTML
2
star
27

liuliu.me

source for liuliu.me
CSS
2
star
28

cvLMNN

Large Margin Nearest Neighbors implemented around 2008
C++
1
star
29

SteamRemoteDesktop

A dummy mac app such that I can use Steam Remote Play as a remote desktop.
Objective-C
1
star
30

alter

C++
1
star
31

mopack

just for another resource packaging
C++
1
star
32

sim2real

An experimentation repo for various sim2real implementations.
Jupyter Notebook
1
star
33

dflat.io

HTML
1
star
34

nuerips-analysis

Jupyter Notebook
1
star
35

fifo.me

http://fifo.me
JavaScript
1
star