I’m new to vvvv and having a hard time getting my head around it :)
I trying to create a blob tracking style interactive table, similar physical setup to the reactivision fiducial table (a camera and projector underneath a translucent table surface)
I’m using contours, and what i want to do is have it so the camera’s input can be calibrated to take into acount the perspective distortion and crop the image a little. Because at the moment it’s almost impossible to physically arrange the camera and projected image so they overlap perfectly.
Anyone have any suggestions or patches for this?
edit I’ve been experimenting with 2d transforms, which gives ok results, but is there any way to correct barrel distortion?
there is no builtin image undistortion (may i say yet). for now we’ve successfully used a freeframe plug once that mimics a fish-eye effect. can’t remember its exact name. but it is one of the older freely available…i think it was one of petesplugins to be found here.
alternatively you can do arbitrary undistortion by putting the video on a grid. afterwards use a DX9Texture->AsVideo combo to get the renderers result back into a videostream for further tracking…
this could turn out to be slow, but you could try to work with rather slow resolutions for tracking (by setting a low resolution on the DX9Texture node).
also try setting the AsVideo nodes “Clock” pin (seen via inspektor) to ‘None’. this could also speed things up.
hm, you can look for a freeframe plugin that distorts the cam input. or you render your cam input in a renderer on a section of a sphere, but if you do so, you have to use AsVideo to put it back into a tracking plugin… needs more performance.
if you like to build something like reactivision, why don’t you use the brand new original coded joreg, fiducial freeframe tracker?
Thanks for the AsVideo Clock tip, that made the output about 10fps faster!
The fisheye freeframe plugin seems to crash VVVV everytime i connect it up. So i’ll have a go with the grid.
unfortunately i seem to be only able to use an input of about 320x240 with a good framerate - but that’s probably good enough, especially at my level.