Forum

Image pixel manipulation and storage

is it possible to directly manipulate and store image pixels? i searched and only found information pertaining to pixel shaders…

pixel processing is always a little tricky, as there is so much data to process -
basically you have three possibilities within vvvv:

  • with pixel shaders you can program your graphic card to do all pixel programming. the graphic card is optimized for that and can do pixel operations orders of magnitude faster than the main processor. shaders do have their limitations, but certain things go amazingly fast.

  • with freeframe plugins you can process video streams. google for freeframe plugins and drop the dll files right in your patch - every freeframe plugin dll can make a nice little node in vvvv. the sdk is open source, so you can extend vvvv´s pixel operations with some simple c code.

  • apart from that, there is always Pipet, which allows you to get individual pixels from an image, and use all the math and color processing nodes in vvvv to do almost anything to the pixels. as everything happens within the cpu, the speed will not be really high, but for lower resolutions everything runs quite smoothly.

tell us more, what you´re trying to accomplish…

  • in case you rendered an image via shaders then access the texture by connecting a DX9Texture node to the renderer.
  • in case you rendered it by using freeframe filters you have to use the VideoTexture node to get the texture.

then store that texture using Writer (EX9.Texture).

  • and the counterpart for the pipet are the dynamic texture nodes. they create textures out of colors/values.

thank you all for your responses. to be more specific i have no experience w/ v4. i want to port a program from processing which reads pixel values from an image and maps the values to a value between 0-360 degrees and displays a vector map (lines) of the directional values. are there any examples using pipet for such purposes… i look through girlpower and didnt see any.

interesing idea …

the girlpower patches are to demonstrate some possibilities of vvvv. to get an example of a specific node, select it and press F1 to open the corresponding help patch …

thanks everyone.

Do you have a link to that processing program?

made a little patch out of your description with some description that might help you, maybe something like this?

lightness2rotation.v4p (11.6 kB)

nice patch! looks very cool. but everything is upside down! ;) pipet’s coordinate system is a little strange and not like the usual vvvv-system…

yup. i stumbled over that for several times…

thanks e elektromeier, that is the basic function. i connected the filetexture output to the pipet texture input and the renderer display changes to black. when i revert by undoing the render still displays black. is it possible to refresh the render? or is something else causing this change?

actually… now the patch works thats odd. now to play around…