Processing Computer Vision Library – diewald_CV_kit

main project page (download):
http://thomasdiewald.com/processing/libraries/diewald_CV_kit/

github repository:
https://github.com/diwi/diewald_CV_kit

processing forum
http://forum.processing.org/topic/processing-cv-library-diewald-cv-kit

 

 

online examples:
http://www.openprocessing.org/visuals/?visualID=35858

http://www.openprocessing.org/visuals/?visualID=35859


this library contains tools that are used in the field of computer vision.
its not a wrapper of openCV or some other libraries , so maybe you are missing some features ( … which may be implemented in the future).

its designed to be very fast to use it for realtime applications (webcam-tracking, kinect-tracking, …).
also, it works very well in combination with the kinect-library ( dLibs.freenect ) … which i basically built it for … to track blobs, generate contours from 3d-data, and else.
it should work in combination with other libraries too, since the blobdetection is very flexible and works with any given data-arrays.

the examples, that come with the library, demonstrates:

  • kinect 3D/2D tracking (requires dLibs.freenect v01.10 or higher)
  • a simple marker tracking
  • image-blob tracking

ZIP_CONTENT:

  1. processing examples
  2. reference
  3. source-code
  4. library: diewald_CV_kit.jar

FEATURES:

  1. connected component labeling – blobdetection
  2. contours:
    continuous polyline
    a blob has only one outer contours, and can have endless inner contours
    the outer contour always goes in clockwise-direction, the inner ones go counter-clockwise
  3. convex hull
  4. double-linked-list (used for the covex hull for quick node adding/removing)
  5. polyline tools (simplification, areasize, length, etc.
  6. color class for fast generating/extracting of color components

 

kinect tracking example made with dlibs.freenect.the blobs are detected by analysing the 3d pointcloud.

Get the Flash Player to see this content.

 


 

another kinect-example using “dlibs.freenect”.

 


 

marker-tracking example:

the markers are simply detected by comparing the number of contours. but its easily piossible to check for more features on other use-defined markers, to get orientation, size, etc. too.

Get the Flash Player to see this content.

 


 

simple blob extraction – screenshot