Tracking for multitouch, some ideas and suggestions

hi all,
it’s a very long time im using the contour for tracking things, in multitouch or interactive installations. At a certain point i’ve seen the community core vision nui group software for using it with multitouch optical based solutions.
Nice software, but i’m shure all that things can be done in vvvv to, with shaders or other methods.
So i want to put here “the passes” that ccv does, and try to imagine how it can be done in vvvv:

background
there’s some ways to do bg sub in vvvv via shader. the 2 i prefer are bgsuppression and bgsubstraction, and an adaptive bgsub would be nice

smooth
there’s the gaussian blur shader that does exactly this

higpass
the most misterious piece of community core vision. it has 2 parameters, blur and noise. i’m not shure to understand what it does, seems to be a sort of median, any idea?

amplify
another piece that seems to be a sort of levels/brightness contrast tool.probably a shader can do the stuff

tracked image
this piece is the contour, i think. it has some parameters, similar to contour. the parameters are: image threshold, movement filtering, min blob, max blob.
Threshold seems the same of contour.
Movement filtering seems something like kalle iir, or anyway something about filtering out the jittering of movements, passing only the translation bigger than a threshold.
min blob size - max blob size, not difficult to do it in vvvv with some comparisons using the area out pin of contour, but should be better (probably) to embed this comparison in the contour free frame, or not?

so, concluding, the only 2 things i find a little bit difficult to replicate is highpass (for my low understanding of what it do) and amplify (levels, brightness and contrast?).

any idea is appreciated or hint or shader is appreciated :D

hi all again,
i noticed that the framebuf freeframe from u7 user doesn’t work in vvvv25

http://vvvv.org/tiki-download_file.php?fileId=1584

do you now why?
thx guys :D

it does work
copy frameBuf.dll to the freeframe folder of beta25 and restart vvvv.
check the helpfile.

Thx u7angel :)

I think, that while you can do almost all of the nui tracking in vvvv, I think, performance and latency-wise, their tracker wins! Ideally it would be wrapped into a plugin though!

“higpass
the most misterious piece of community core vision. it has 2 parameters, blur and noise. i’m not shure to understand what it does, seems to be a sort of median, any idea?”

from my understanding it eliminates blurry parts of the image while keeping parts with a sharp high contrast edge. this is typically necessary with a di setup.

highpass

low frequencies will be erased while high frequencies (edges…) stay or will be amplified. if it’s like the highpass in photoshop (i think so) - its one of the basic operations in picturebased-mathematics. its a convolution matrix - im not into shader-coding, but should be kind of simple. generally would be great, if someone’s implement a convolution-matrix-node…

links:
http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node152.html
http://www.ozone3d.net/tutorials/image_filtering.php
http://www.manifold.net/doc/image_filter.htm

regards chmee

http://legacy.vvvv.org/tiki-index.php?page=pixelshader_for_newbies_06

hi u7angel, really useful link. thx ;)

Ah, two very important graphical functions may be

erode and dilate

To change blobsize after detecting. it makes sense to grow their size (fe to catch smaller blips into the bigger blob) and after that to shrink them, to make it more homogenious.

ClearEdges.fx - http://vvvv.org/forum/need-urgent-help-with-tracking

regards chmee