Fiducial Recognition

I’m trying to use VVVV to recognize the positions of multiple fiducials, but when I try to test it out by having it place a box on multiple fiducials at once it only seems to do a few at a time and is very inconsistent.

I guess my question is whether this is an issue with the camera I am using, or with the fiducial tracker in VVVV. If it is with the fiducial tracker, I am curious if there is a setting I can change so that it more easily recognizes the fiducials. If it is recognizing all of them, but having trouble putting things at their locations, I am curious why that is as well.

So if you have any experience with fiducials any advice would be appreciated.

Thanks!

example patch (9.4 kB)

on your patch everything looks ok…
so what kind of camera are you usin?
you know you need to setup nice lightning for camera to work

the problem is that the array that lists what fiducial IDs are recognized has like 6 things on it, but it’s only making 1 or 2 green squares. So the problem is that even though it knows that x fiducials exist on the screen it’s not passing along that information correctly.https://vvvv.org/sites/default/files/imagecache/large/images/FidOSC-1_0.png

you should replace the = by a Sift, you just check if ID 0 is at slice 0, ID 1 at slice 1 and so on… if ID 0 would be on slice 4 your patch would not recognice it. and also, your IOboxes are in ColsRowsPages mode, so they always have 6 slice no matter how big the input is. so change that to ‘input’ mode and you will see how many fiducials are really detected.

it’s because “=” is looking for equal values only on same indices and not whole spread so you have to add another select with count of incoming spread to make it work that way

I have changed it to sift, but am now getting a different problem where always one fiducial does not appear lit. It is not always the same one, so I am not sure what is going wrong.https://vvvv.org/sites/default/files/imagecache/large/images/fiderr1.png

fidSift.v4p (11.2 kB)

well, you should try to understand how Sift and Select work. if you want to get a slice by index you should use GetSlice instead of Select… or why do you use them in the first place? you could just connect the fiducial output to your quads and you see them all.