VL: OpenCV - Framerate

vl

#1

Hi,
First let me give a big thanks to the team for this contribution and the VvvvTV show !
So, I just bought an old IDS Ueye camera (UI-1226LE-C-HQ) and follow the tutorial to implement a ball detection in VL.
It’s working well except for the framerate.
According to the characteristics, the camera is 87.2 FPS.
But in the resutls I don’t know why my framerate is 30 Fps in VL implementation and seems to be 120 in CV.Image. Which framerate should I beleive ?


#2

The timing node will only show you the vvvv mainloop frame rate.
the video input is at first completely independent from that, it has its own mainloop in which it makes new video frames available. whether this changes the vvvv mainloop depends on how you use it and where you introduce ‘sync points’. if you do VideoIn in VL and output an Observable and use the UploadImage (Async) you don’t have sync points, which is probably what you want. the 30 FPS is probably just the vvvv mainloop throttle when vvvv is not the focused application. you can set that with the Mainloop node.


#3

two more thoughts:

  • i’m not sure if the uEyeCam supports its max framerate through the generic directshow driver that the VideoIn node in vl is using
  • we have this package in the making that will give you native support for the camera. it is not ready to use out-of-the-box for vl, have a look at the vvvv demo first, you may find your way. or give us some more time to put it all together.

eventually you may also stumble about another related thing, so i link it here already: VL: Selecting/Filtering Observables that come in faster as they can be processed


#4

Thanks Joreg !!

  • It is true that VideoIn(uEye) 4v node coded by Sebl is more efficient.
  • And finally I have better results with backgroundsubstractor to detect and keep good framerate.

for the demo https://vimeo.com/263730722 password : bowling

Now I’m going to thr Infrared part to permit mapping projection on the same wall.