Canny help needed!

Hi vvvvolks,

I don’t know why this doesn’t work…maybe its not possible in vvvv. Canny edge consists of two pass…one for the gaussian blur and one for canny detection itself. You’ll find the doc where the code is from…http://ati.amd.com/developer/shaderx/ShaderX2_AdvancedImageProcessing.pdf just want to understand better what’s goin’ on here…
Any ideas on how to perform this?

strange i can’t join any files

…test again…

canny.zip (64.9 kB)

i think at the moment there is no way to do a real gaussian blur inside a shader in v4. cause it uses multiple passes. maybe you can simulate it with multiple shaders, renderers & dx9Textures.

i wouldn’t consider using multiple shader-renderer-dx9texture blocks as a no-go.
sure, patches at first won’t look not that nice and probably there are more performant methods to do the same (which aren’t already implemented within vvvv), but i think the difference in performance shouldn’t be that big (just a feeling).
to clean up the patch it would then be nice to encapsulate all the image processing shaders into modules, which also include the fullscreen quad, the hidden renderer and the dx9texture, so that the modules’ input is a texture and the modules’ output is also a texture. in that way you could easiely construct multipass image processing patches by connecting those modules.
however, the hard part is then that all the parameters for the shaders will be hidden in the module and you would need to make ioboxes for all of them.
to make this more confortable it would still be nice to have that gui feature which creates ioboxes by dragging pins into the patch…
even better would be a solution, with a “multi purpose image processing module”, which would accept any shader on one of its inputs. however for this we would need a major rework of those node types, which should then be capable of delivering references on nodes / modules…

Sounds like great ideas!!