just playing around with my camera and a patch with some masking/threshold
the light painting effect works like a charm with slow light movements.
but to quickly draw something in the Air (like you should in a real street situation) the trails are not plain and continuous…
first i try to tweak the cam settings (ueye GigE) by lowering the resolution to have a 75 fps … better result but still not smooth as expected.
i try 2 differents method to achieve the trail effect :
using the clear render pin on a renderer
a Queue texture
in both case i have not a clear plain trail of light with fast motions
i try many settings waitformframe, mainloop, presentation interval
on Renderer and VideoTexture (anyway with VideoTexture wait for every nth Frame set to 1 : the patch runs @ the camera fps which is 75/80 fps)
so the only limitation here seems to be the camera itself and even a 100fps camera won’t be enough for this kind of setup?
any hints welcome
hi circuitb! ;-)
for true light painting:
usually light painting is a question of low shutter frequency and long exposure time.
So you should try a renderer not cleared on the period you need ( lets say 1 shot all 2 or 3 seconds), with high contrast effect to kill the rest of the details and let pass only the level neeede. then store the result in queuing texture to have the progression.
now if it is the effect you are searching for, i would more suggest to have a look at the bloom fx that could be a good trick to give the idea of light painting, maybe coupled to a background suppression
go to your cam setup menu and try to find the exposure time, as karistouf said, this is the most important value. you will only have a continuous movement of the exposure time is the same as the frame duration, no matter how fast the framerate is.
On any frame-based system, there will be visual breaks between frames if the object is moving a greater distance between frames than its size, period. I don’t know of any popular technology that doesn’t have some non-capture time while it offloads the image.
There are motion interpolation filters used in video editing for time-stretching that do what you want, but I am not familiar with any that work in real-time. (If you find them let me know!)
I do something similar though, where dancers walk around the stage with continuous lines drawn following them. I use the “Contour” plugin to get their positions, and then draw the line using “Rope (DX9)”. Rope “connects the dots” as it were.
While contour is a CPU hog, using a PS3Eye running at 60fps and 640x480, I still get 30fps output with low latency (but how you setup the PS3Eye is important…).
But that would get you a rendered line, not an accumulation of the actual light being drawn with, which may be important to you. The only way I could think how to do that would be with two sensors synced out of phase so their images overlapped. Certainly non-trivial (but very cool!).
I used color tracker to implement graffiti-analysis sort of thing (drawing with light). The lines are interpolated using the tracked coordinates. Applying this technique to light painting would probably be difficult, but it’s an idea…