» marc_s
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.


show on map

Registered since 27/10/05
Last seen never

welcome, friend!

current project:

design of a freeframe plugins for object / motion detection using the OpenCV library.



image processing * optical metrology
stereo vision * languages * music


news (listed in descending freshness):


  • ColorTracker and CamShiftTracker nodes are now spreadable! Use with vvvv33beta10.

Download dll, source code, help patch:
ColorTracker, CamShiftTracker


Two small shaders:
BackgroundSuppression for, you guess it, supression of a static background and shading correction for livescenes , aand:
Anaglyph lets you play with stereoscopy.


New versions of Contour, ColorTracker and CamShiftTracker plugin dlls!

New features:

  • Permanent numerical contour (object) ID lets you track multiple contours at once
  • Object information output (height, width, position, rotation angle)
  • Build-in image cleansing (median filtering) and object/background inversion
  • Adaption of opencv contour moments algo to vvvv coordinate system
    CamShiftTracker and ColorTracker:
  • Different scaling method for 'Scaled Values'=0
  • Added pin 'Area Threshold'
  • ReInit bug fixed


  • Need help setting the tracking parameters for CamShiftTracker or ColorTracker?

Read the friendly 'FINE-TUNING OF OBJECT TRACKERS' tutorial on the bottom of this page.
ColorTracker added to new release vvvv_33beta9.10.zip

ColorTracker tracks a(n object of) user-defined color in a video stream. It has pins for input color and Hue, Saturation and Value Thresholds and uses the MeanShift algorithm (part of the CamShift algorithm, see CamShiftTracker) for tracking.


CamShiftTracker added to new release vvvv_33beta9.2.zip


CamShiftTracker] is a plugin for object tracking based on FreeFrame and OpenCV. Zip file includes dll, help patch and source code. Input nodes still act a bit weird, updates shall be posted here...

short manual:


When you use CamShiftTracker or ColorTracker, the most important step is the fine tuning of the tracking parameters.

These are:

  • Object Color (H, S, V) or (R, G, B)
  • Hue(H), Saturation(S) and Value(V) Tolerances

for ColorTracker and

  • Size and orientation of initial ROI
  • Saturation min, Value min and max

for CamShiftTracker.

To achieve an optimal tracking output, these parameters have to be adjusted to the lighting situation of the video scene ( or vice versa ) and, in case of ColorTracker, to your object color.

If possible, turn off automatic gain control (AGC), automatic brighness ajustment etc. on your camera.

During fine tuning of the parameters you should have the pins 'Show Backproject' (CamShiftTracker) or 'Show ThreshImage' (ColorTracker) set to value '1' , so you can see which pixels of the image are considered as belonging to the object ( i.e. those which are white ). As there is a strange behavior of the input pins at the moment, you might have to switch those values forth and back a few times in order to set them. Also, set 'Show ROI' pin to '1', to see the search frame.
When nearly all pixels in the area of the object are white and the rest of the image is black, you're done.

Like a good linear minimizer, adjust one parameter at a time, then continue with the next one. Playing around will give you a feeling for this...

ColorTracker :

Contrary to CamShiftTracker, ColorTracker reinitialises itself when parameters are changed, so you get a direct feedback if your parameter change has a positive effect.

First, set H, S and V Threshold pins to a high value ( >0,8 ) : most of the image, including the object, is supposed to be white now. If your object doesn't show up as a cloud of white pixels in the thresholded image, increase all Thresholds a little ( if you reach value '1.0' for all thresholds, all pixels, regardless of their original color, will be white ).

Start decreasing 'H Threshold' value, until the white pixels on your object start to look noisy, then adjust the hue value of the input color ( 'Hue' pin on 'HSV Join' node in helppatch ), until the object appears ( mostly ) white and the rest of the image is black.
Repeat these two steps until there's no improvement.

Then repeat these two steps ( decreasing threshold, adjusting input color value ) with 'V Threshold' and V input color value, and 'S Threshold' and S input color value, respectively.

When you're done, you might repeat all steps until you don't see any improvement.

If all that doesn't help, you might have to improve the lighting situation. Illuminating the object with a lamp, or adding a diffuser might be fruitful if the colors don't come out right.

CamShiftTracker :

Be sure that your object lies in or, ideally, fills the initial ROI when you initialise the tracker ( bang 'Init Tracker' pin ). You will get the best results by using a white background. Since white ( background ) pixels have a very low saturation, you can kick 'em out by increasing the 'Saturation min' pin value.
Adjust 'Value min' and 'Value max' pin values to the range of your object brightness:

VALUE MIN: very low V1 (near 0.0), VALUE MAX: low V2

VALUE MIN: high, VALUE MAX: very high V2 (near 1.0)

OBJECT BRIGHTNESS : different shades

After each tuning step, init Tracker again to submit the tracking values and refine the object search.

If all that doesn't help, you might have to improve the lighting situation.
Think about illuminating the object with a lamp, or adding a diffuser if the video image is too dark and the colors don't come out right.

anonymous user login


~7h ago

tmp: @ventolinmono: i have a game of life implementation on my pc at work. i can upload it on tuesday.

~8h ago

bjoern: @ventolinmono there is one in VL but for some reason it didn't make it into the girlpower folder.

~13h ago

beyon: ventolinmono: think there has been many, here is one: cellular-automata

~15h ago

readme: @gegenlicht: it runs in your browser and stays online for your. mobile app available for android and iOS - what have you done wrong?

~16h ago

ventolinmono: Is there a Game of Life node/patch?

~16h ago

gegenlicht: ah ok :) once again OS choices have thrown me into soziales abseits :)

~17h ago

readme: I'm using irccloud for idling purposes, which also has a mobile client ...

~17h ago

joreg: i am very happy with the http://irccloud.com mobile apps..

~17h ago

gegenlicht: i know joreg but everyone around me switched to platforms suited for mobil so my IRC friends deserted me and i do like to idle:)

~17h ago

joreg: @gegenlicht: IRC is still the place to be: howto use irc