Forum

openCV VideoIn(OpenCV) limitations!?


#1

hi folks, hi elliot

I want to use the FindBoard(OpenCV) with a Kinect and a DSLR-Kamera sounds easy and there are many ways but there is always a new Wall

convert an EX9-Texture into CVImageLink ?AsImage(OpenCV)?
VideoIn(OpenCV) VideoFormat RGB32bit
mirror a CVImageLink ?Transform(OpenCV)?

I tried all possible Settings in the Software of the Capture Cards

Capture Card
first TRY: BlackMagic IntensityPro no sucess
VideoIn (DeckLink) help.v4p and VVVV.Nodes.OpenCV.FlyCapture.dll aren’t working anymore
also tried some old vvvv versions and VVVV.Packs.Image](https://vvvv.org/contribution/vvvv.packs.image">VVVV.Packs.Image) no sucess
VVVV.Nodes.DeckLink](https://vvvv.org/contribution/vvvv.nodes.decklink">VVVV.Nodes.DeckLink) sucess but EX9 Texture
AsImage(OpenCV) doesn’t exist
VideoIn(OpenCV) no sucess

second TRY Datapath Vision VisionRGB-E1S Capture Cards
VideoIn(OpenCV) sucess but no RGB32 only RGB24 so the Input is mirrored and rotated
Mirror(OpenCV) doesn’t exist
Rotate (OpenCV Continous) has an uniformScale so no negative X possible
found no way to Mirror a CVImageLink with integrated Nodes
VideoIn (DShow9) sucess but EX9 Texture
AsImage(OpenCV) doesn’t exist

Context (OpenCV OpenNI) fine but I found no way to mirror the Kinect Input so both would be mirrored - can I write something in the pin “Creation Info” - what exactly needs this pin

I also was thinking for a screencapture but no screencapture(OpenCV) or does anyone know a VirtualCamera which is recognized by VideoIn(OpenCV) capturing my other screen :P so there are many ways :)

Would be cool if someone have a hammer for one of those walls
Thanks…


#2

known problem. there are many ways but none of them is straight.

for me it worked like this:
2 instances of vvvv:

  • started with /dx9ex
  • started with /allowmultiple

ad 1)
this will be the one that opens the highres-cam using VideoIn (EX9.Texture) does whatever textureprocessing. finally render the texture via DX9Texture (EX9.Texture) and then sends the texture via shared-memory. ie. use the Info (EX9.Texture) node and handing the shared handle over to the second instance (eg. via udp)

ad 2)
this is where findboard is. it receives the shared-handle and converts it to a dx11 texture using FromSharedHandle (DX11.Texture 2d). from there use AsImage (OpenCV DX11.Texture2D)… note that you may not see the image due to some alpha-channel-mixup during conversion but findboard will still work. you can preview the incoming texture through Preview (DX11.Texture 2d)

this is all quite ugly but should be sortable in the future…