» FreeFrame dies tonight,
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

FreeFrame dies tonight,

Note the framerate at 1920x1080 input resolution
More speed ups possible:

  • Simplifying contour (especially before drawing)
  • Select minimum area before leaving Contour node (currently a few thousand values are being discarded within the graph, i.e. main thread)
elliotwoods, Tuesday, Nov 22nd 2011 Digg | Tweet | Delicious 13 comments  
elliotwoods 22/11/2011 - 12:44

to note: the contour isn't updated at 50fps here (the camera feed's only 30fps)
the main graph is running at 50fps

robe 22/11/2011 - 13:42

YEEEEEEEEEEAAAAAAAAA!!!!!!!!

sunep 22/11/2011 - 13:57

:)

Noir 22/11/2011 - 15:27

boooooom

sebl 22/11/2011 - 15:31

do you think, that things like floyd-steinberg-dithering-in-a-shader are possible with your technique?

elliotwoods 22/11/2011 - 15:56

hey @sebl
interesting

dithering is of course entirely possible on CPU
the main reason for having a cpu image pipeline is to handle things like this

there is an example of per-pixel manipulation in the EmguCV template
if you're happy with c# then you can probably just jump in and implement the pseudocode in that template

otherwise, there are approximations of dithering that can be done on the GPU
here's a quick result:http://kineme.net/forum/Applications/Compositions/GLSLDitheringandCrosshatching

the most obvious way (to me) of doing this on GPU is:

  1. find the 2 closest output palette values to your input position
  2. Select from those 2 based on your pixel's position in the screen (you'd need to calculate the pixel position youself based on your projection space position, as afaik, HLSL doesn't offer a simple function for absolute pixel position)

one issue is there isn't a good way in VVVV to get from GPU back to CPU
so if you want to dither something you're rendering in an EX9 renderer, then you'll need to dither on GPU, or wait for Texture inputs on plugins

elliot

sebl 22/11/2011 - 17:53

ai, the point is that this particular floyd-steinberg dithering can't be done in a shader (as discussed in the thread).

so i did an ultra-slow c# version using pipet to get the image into the plugin (i consider it a preparation until imageinput is implemented)

then i did a freeframe version - with the bottleneck in asvideo. (just a bit faster)

now i thought, i could pack the freeframe code in your emgucv template (like you did with contour?)

...

the link you posted describes ordered dithering that can be done in a shader though (like the halftone one does yet)

elliotwoods 22/11/2011 - 19:12

since floyd-steinberg requires a fill function (i.e. start somewhere, move around the image) it's CPU only

you can implement it now in a EmguCV filter following the template example
but there's no 'AsVideo' equivalent for opencv yet

sebl 22/11/2011 - 21:14

ah, so, for now i can only dither any cam or video input

robe 22/11/2011 - 21:20

AsCVImage with a Texture In (DX9) pin would be useful...
... but ... It will be possible?

elliotwoods 23/11/2011 - 04:36

@robe - AsImage will come
but it's not so simple to create right now
with the new vvvv-sdk i might be able to look more into it
but ideally need an example of a Texture input on a plugin

manuel 23/11/2011 - 09:51

wooooww

the difference mode pin... what other modes are? is there a dynamic bg substraction??

elliotwoods 29/11/2011 - 14:46

@manuel - more advanced background subtraction models will be available in later releases.
There's lots of models in OpenCV, such as the gaussian adaptive model which seems to be an all round winner

  • 1

anonymous user login

Shoutbox

~24h ago

joreg: The summer season of vvvv workshops at The NODE Institute is out: https://thenodeinstitute.org/ss24-vvvv-intermediates/

~1d ago

domj: If you happen to be in Prague, come join us at the Schema workshop on Thursday 25.4. :) https://www.facebook.com/events/395516526614988/?ti=ls

~13d ago

joreg: Postponed: Next vvvv beginner course starting April 29: https://thenodeinstitute.org/courses/vvvv-beginner-class-summer-2024/

~1mth ago

~1mth ago

joreg: The Winter Season of vvvv workshops is now over but all recordings are still available for purchase: https://thenodeinstitute.org/ws23-vvvv-intermediates/