VVVV.Packs.Image [OpenCV]
Author: | elliotwoods |
Date: | 14 Nov, 2011 |
Category: | pack |
Credits: | elliotwoods, alg, vux, elias, sebl |
Download
32bit
updated for beta 35.8 x86 and dx11 > 1.0 source: https://github.com/sebllll/VVVV.Packs.Image/tree/beta35
64bit
Description
- Installation
Get it with vpm
With DX11
Without DX11
(missing DX11 pack might cause problems)
OR
create a \packs folder next to \girlpower (in case you don't have it yet)
unzip so that the \Image folder lands in the \packs folder (i.e. just next to \DX11 if you also have the dx11 pack)
Features
- Threaded image processing
- OpenCV functionality (e.g. image processing, tracking, calibration)
- DirectShow capture
- FreeImage loading
- OpenNI Kinect input
- FlyCapture (i.e. Point Grey cameras)
- Canon EOS capture
- Structured Light (experimental)
- CLEye (i.e. PlayStation eye) is currently disabled but can be back v. soon
- Finding bugs
Please file bug reports using the GitHub issue tracker
I know it's easier just to post below, but it's a real mess down there! With the GitHub tracker, it's much easier to keep track of the status of any bugs.
Thank you! Elliot
- Changelog
July 25 2016
Forked and built from https://github.com/sebllll/VVVV.Packs.Image/tree/sebl_beta43.2 for both x86 and x64. Unfortunately OpenNI and FlyCapture nodes didn't survive. I didn't have the proper OpenNI.Net libraries (and you have proper kinect nodes and AsImage (DX11.Texture2D) anyway) and visual studio couldn't target .NET Framework 4.5 in FlyCapture project for some reason.
What's missing from x64 build:
- DirectShow VideoInput (still nobody built VideoInputSharp for x64) (that doesn't mean you don't have video input in CV.ImagePack, there's VideoIn (CV.Image VfW) which works fine you have less options though)
- CLEye (didn't have x64 libraries)
- EDSDK (didn't have x64 libraries)
- uEye? (might work though, IDS only provides x86 or AnyCPU .NET library, nodes are there I don't have camera though)
September 13 2013
- just took the last version, added some missing stuff, some helpatches, fixed some namings and made simplified installation instructions
February 25 2013
- Reformat to VVVV.Packs.Image
- Release build for beta29
- A glut of internal clean up
- Lots of fixes all over the place
- Lots of new nodes
May 30 2012
- CaptureProperty for CLEye (splits properties into seperate node, fixes BinSize bug)
- StereoCalibrate paths fixed in patch
- Added missing ValueChessBoardSpread
- Removed redundant dll's
- Tested with vvvv alpha 28
May 2012
- CLEye for native PS3Eye support (multiple cameras supported + full camera properties)
- StereoCalibrate node added
- CalibrateProjector update
- Description
Pre-release binary build of OpenCV nodes for VVVV Source hosted at: https://github.com/elliotwoods/VVVV.Packs.Image
Still in testing. No warranty of course. Approaching stable release.
- License
MIT license where possible BSD license for core OpenCV code GPL license otherwise (due to EmguCV) unless somebody buys an EmguCV license which would allow all of us to use these nodes without GPL restrictions.
Comments
Comments are no longer accepted.Please create a new topic in the vvvv beta forum to discuss this contribution.
i have not tested everything but i can already say, the performance is great. my internal macbook cam wasn't really usable with vvvv. with EmguCV, its just as it should be. checking some filter nodes doesnt even kick off the fan.
performance is great...always 60 fps on my dell good work elliot
Needs OpenNI right?
@sunep - seperate plugin for OpenNI which works with EmguCV, but if you dont want to use OpenNI you don't need it
Fantastic. Man, you've been busy! Working very well mostly. I noticed that the pins on the Pipet go BlueGreenRed rather than the other way around. I'll let you know if I spot anything else.
Hayd
@Hadasi - Interesting.
OpenCV generally stores colour images as BGR rather than RGB It's likely this is the case for you there.
hi in the sample folder the OpenNI.v4p size is strange....11865 Ko !!!
that's the size of the zip file. it must be the zip file with the wrong name. is this on github or inside the zip?
both even when extracted OpenNI.v4p size is 11865 Ko
@circuitb- will check tomorrow there shouldn't be any .v4p with name OpenNI not sure where that comes from
@elliot: sorry for hijacking your contribution, but I wanted to keep them together since mine won't work without yours.
And since everything is still quite alpha, I hope you don't mind...
@ft Can you just push all your changes to our git repo, so we can publish new version with your node? You can also just send your classes to me or Elliot, and we will integrate it into the current project.
Hola Elliot, goow work, by the way, why the kinect plugin are called OpenNI ? I thought it would use Emgu kinect imaging, are u using someway OpenNI instead ? is it possible in ur point of view to use both KinectCapture (EMGU) and OpenNi sametime ?
Hi, hadsome testing, and compiled library with only a problem, the openni User module is giving error, everything is running fine, but just passing the mouse over user module it became red, and esecution time passes from o.5 to 350, any hint about it ? can be related to msvcrt.dll importing ? Using precompiled library no problems, just sometime (still not sure about why),openni trace a "corrupted memory error", and driver need to be restored with a windows log off.
more testing, im using this project dll inside bin/managed folder, sometimes openni stuff give error, and modules are no longer available from vvvv modules menu, so if i drop dll inside a new patch, it will work again.
maybe I got the problem about recompiling OpenNI , which OpenNI version you used ?
Hi, did some testing for dveloping.
Using ImagResize, passing fastchangin values,output will be randomly black,couldnt understand if issue is related to image allocation or whatever.
Compiling openni with 1.4 will not work Usergenerator initialization,vvvv just closes.
great addon ,thanks will test it soon
@hierro - hopefully the chat on skype a few days back will resolve the above issues was using the most recent version of OpenNI i could get my hands on (downloaded November)
i get similar results with the dll. it appears the most stable way to link it is to have the dll's of all EmguCV projects in the same folder (i.e. generally dll's exist outside of the respective project folders).
fast changing input on width/height inputs? likely you're camera isn't sending quick enough for you to do this every frame i.e. if you change the width / height, it will invalidate the current data, reallocate the texture + internal image, and wait for the next frame on its input. if there's no image frame already arrived before the vvvv mainloop frame, then it'll likely be black that frame
but you mean its black and stays black? if so, it's a bug then, and please add to github issues
Hi Elliot, what i tried is this :
Connect the Kinect texture to the ImageResize and change width/height values fastly, I was prototyping a crop node to catch hands ROI: randomly the resulting texture is black, just for a frame. I also tried different methods for resize function and passed only width/height values divisible by 4, to make sampling easier, but result was the same. Did try also to change texture allocation logic, but did not have success :)
Let me know if you some hints, hope to catch you on skype fora quick talk about it.
hey elliot just have a quick try with the new structuredLights nodes: encode, decode and cameraSpace status out pin is blank and renderer's are black!
the new astexture works better but i've some random black frames (hierro patch) fps still flicks 15 / 16 / 22 /502 / ueye GigE @ 1024x768
concerning hierro's patch it demonstrates a situation where you have to recreate the image almost every frame (dimensions of image are changing). since this is being carried out on another thread, there's 2 options:
this means you'll be able to (per node) choose what the threading mode is. Sometimes you'll want sequential nodes to run on the same thread (e.g. this instance), therefore reduce syncing issues.
Generally only heavy nodes (e.g. Optical Flow) absolutely need to run in their own thread all by themself.
If you've got graph
A>B>C>D>E>F>G
A is the camera and has its own thread
then set D to use its own thread and E,F to use above thread
G is AsTexture so has to run in the MainLoop
then you'd have the MainLoop + 2 threads Rather than 7 threads (current situation)
RE: structured light @circuitb - interesting working ok here. bit glitchy but got distracted by other stuff so haven't tuned them up yet (still need to decide what architecture to use) you can set B and C to use the above thread, i.e. A,B,C in 1 thread
Want to get DirectShow capture working with this first so can get proper camera settings at home (away from studio at the moment, and the cam's i have here all auto-expose by default)
hey Elliot thanks for those threading explanations make sense now!
just a question about what could be integrated in the emguCV hierro talk about a Crop node, it could be cool to have some more transform nodes like homography/distortion (like in the camera calibration but with user input values?) before the AsTexture/mainloop what do you think?
Has anybody been successful in using the engucv vlc node with beta27?
Thanks for the contribution! Do you plan an update for beta27?
Yes, we planning. Also we will integrate VLC to the core. I think you can wait update in February.
Great news!
@alg / @cybear vlc should be integrated into the binary release but that will always be a GPL component (with associated licensing issues) I've been looking into GStreamer as a possible alternative @ft - perhaps this is something you've also looked into?
I have read that from VLC 1.2, LibVLC will be LGPL 2.1 (http://www.gnu.org/licenses/lgpl-2.1.html). If I have understood correctly, this allows the 'client' to obtain and change the library's code, but a 'work that uses the library', can have its own license. (The 'client' should be able to replace the library with their own version.)
Latest VLC version in Contributions is based on LibVLC 1.2 already.
I was just wondering, how can I make a version of Vlc that can be distributed separately, and still could work together with these nodes. It would be cool if there would be some way to create a node that can 'transform' ordinary bitmaps or byte arrays coming from one node into the format useable by EmguCV nodes. That way, VLC is not 'locked' into the EmguCV project, and can be used by anyone, whether they want to use EmguCV or not. It would also allow other people to create 'output' nodes, without having to include all the EmguCV dll's and some of these dll's just to be able to output to the EmguCV nodes 'proprietary' format (they can if they want to of course).
(Same thing for audio, I would like to be able to send audio to Vux's bass modules, without the need to make VLC a part of these modules. VLC can't be a part of both anyway.). It would be nice to keep it on its own (only 1 version to manage), and yet work together with as many other components as possible.
the initiative i intially had with these nodes is to set a new standard for an 'image output' in vvvv. indeed, to get it into the addon pack and make it exactly what you're talking about.
Also you should only need to link against VVVV.Nodes.OpenCV as that gives you interfaces to deal with the image data. Also that means I can switch out EmguCV later and nodes that are written against VVVV.Nodes.OpenCV will still work. I've done a little bit of updating to the way generators work in the recent release.
Is there anywhere I can look at your source / co-contribute to the vlc plugin (perhaps help you clean out any unnecessary EmguCV)
and great news about LGPL!
@elliotwoods i received a previous version of ft's sources before the New Year, but unfortunately don't have a time to integrate it. I can send this version to you by email or we can wait for a new one.
@alg @ft github?
@elliot: so I would need to integrate with the addonpack, in order to be able to easily link with the CV nodes? It's on my todo-list :) I'll try to stabilize the last version first though.
(I think I'l be able to find you on skype, when I start doing that.)
@elliotwoods Can push it to your repo, but it's not the last version. I think i should try btw.
for me openni modules (context & list device = red nodes) with openni 1.5.2.23
Hi Elliot,
I'm testing the Video-In CV node extensively with both Optical Flow nodes. (To drive the Dottore's GPU Particle)
I'm using the Ps3eye and I need to access the property of the camera (turn off auto-exposure, setting the gain, etc..).
I tried to do it in the Ps3eye Cleye-Test but the videoIn CV node reset the setting to defaults..
Is there any workaround? Thanks
PS: These NEW Node type are very performant and revolutionary in VVVV. With Vlc (or some videoplayer) included, we have a new world to explore at 60fps.
Keep up this good work.
PPS:I'm on beta26 because I want to use Your CV stuff.
Cheers robe
Hi robe,
have you tried this CaptureProperty node?..fully spreadable! and also works well for me in beta 27.1
btw: top contribution :)
Hi Desaxismundi, Seems that the CaptureProperty node doesn't work with the Ps3eye:
Anyone can confirm this?
It works very well with another webcam that I have here to test. (Philips)
Thanks
@elliot could you shade some lights on the timestamp pin (videoin node)?
@robe: yep the show settings and capture property depends on your hardware in the current release it's for standard webcams for specific cams like ps3eye or ids uEye an Enum list in the captureProperty node could do the job!
@elliot could you shade some lights? :-)
@circuirb: Maybe for Ps3eye a custom Node will be usefull to access its parameters and use more than one. Elliot already did it in the LINK installation I downloaded from github...
Starting with a Cleye Multicam Test sample I have two webcam working at the sametime, but is made with WPF and I don't know how to port in vvvv.
<www.robesantoro.comCLEyeMulticamWPFTest.zip> Maybe someone could?
Cheers robe
hey all sorry for the silence
@robe - there are 2 VideoIn nodes (one is video for windows, the other is directshow) have you tried with both. the vfw one doesn't support capture properties so may be better for you? also (including a discussion right now on skype with colorsound) a dedicated ps3eye / opencv plugin is really the way to go (as you say) need to merge that earlier code (with texture out) into opencv version
@circuitb timestamp is currently for structured light when you encode a frame it gets timestamped, and then when you recieve it you look for a matching timestamp since with normal directshow cameras you have no idea what the delay of the camera is, you can manually adjust the timestamp offset with that videoin's timestamp pin
apologies about openni compatability in future i'll mark which openni version the release was made (with download links to get the files)
Ciao Elliot,
I tried both, the one without Property is useless beacuse I've to access the exposure and gain (It's a IR-modified Ps3eye), the other node let me open the Capture Property but the checkers and the slider are grayed out and not clickable.
Just waiting for the custom node, but with no hurry, I'm fighting with kinect for now...
Instead I pray for a B27.1 compatible version for your OpenNI-CV Stuff:
*OpenNI 1.5.2.23 (32bit, stable, redist edition) *NITE 1.5.2.21 (32bit, stable, redist edition) *SensorKinect091 5.1.0.25 (32bit)
(Copied from the OpenNI Contribution but that thread was considered closed by Joreg, so I don't know what was embedded in B27.1, Here this package works and I'm happy -OFF TOPIC-)
Even though I'm thinking to downgrade to B26 for your amazing calibrate kinected projector...
Thanks Elliot I really believe this OpenCV stuff is a great alternative to FreeFrame, but also for some Texture Filter in terms of performance.. .. Correct me if I'm wrong..
Keep up good work! Your GitHub would be a gold mine if I was a real programmer..
Bye Bye
ah,the VideoInput(DirectShow)(the new one-May 2012 Alpha) really slow here,only got 4-5 fps,anyone had same issue?
Custom CLEye node in most recent release
Hi Elliot, I've some broken links and red nodes. I'm w/beta 27.2 and latest .zip extracted in contribution. Are there some specific beta and folder structure i should use? cheers
@elliot,besides the low fps,i also noticed seems that the videoInput(DirectShow) node can't shut down properly even though i deleted the node,the camera indicator light still remains. i'm using beta27.2,btw my webcam only working with YUY2 colorspace. but working fine with your older opencv version.
cheers!
@DiMiX - maybe i can make a demo vid of this working with a fresh copy of vvvv beta Please try to put it in something like vvvv45beta27.2/VVVV.Nodes.OpenCV And add it to your search path in vvvv's root patch. (maybe there's a good demo of how to do that somewhere?) Alt+r to show root patch
I was getting some red nodes in some modules due to the v4p's storing relative paths To fix this just double click the red nodes and select the right plugin
Can you post a screenshot of what's red
@liquid : interesting, not getting that issue here. Low fps is only for that VideoIn node for you?
Cheers for feedback!
Elliot
@elliot,ok,the VideoIn node got low fps,and the VideoIn(OpenCV) one not working,the status message saying its ok,but there's no given images. the default videoIn(DSshow) working as usual. don't have the pseye atm,can't say about this. any ideas? cheers.
With "VideoIn (CLEye) help" I am getting zero fps - and all four CPU cores peg at 100%. "VideoIn (OpenCV DirectShow) help" works fine using the ps3eye.
I am on Win7 x64 using the latest CL Eye Platform SDK, 1.3.0.1205, which recently came out. I'll try going back to a previous version...
Same behavior with SDK 1.2.0.1008. Also, "VideoIn (OpenCV) help" crashes, and if I start a blank patch and add "VideoIn (OpenCV)" to it, when I enable it, all the cores peg at 100% CPU again.
One more data point: when exiting vvvv (27.2) when the CPUs are at 100%, vvv closes and the CPU levels drop to zero, but vvvv.exe is still a zombie and has to be manually killed.
Arrgh! Lots of lovely bugs in this release. Will have to check these out tomorrow as got some dinners and drinks now Thanks for all the bug reports
Anybody having more success with any VideoIn nodes?
i tried videoin directshow with my macbook pro built in cam, no luck. LED turns green but no image.
when i try vvvv videoin node, i always need to set the cam to YUV manually to get it working. i dont see this option in your version.
With "VideoIn (CLEye) help" I am getting zero fps too
vvvversion 27.2
thanks for all!!!. have this problem when connected VideoIn (OpenCV) => AsTexture(OpenCV) <red%20node> => Preview(EX9.Texture) in beta27.2
render tty:
in the previous version does not occur
@Elliot package placed in contribution>root patch> search path...all done
as you can see many nodes are linked to addonpack/lib etc. many of them i can find in package and relink, but few of them are still missing: TableView: Insert, Table ContourDelauney ContourPerimeter ChessBoardspread CameraSpace Pipet CLEyeMulticam.dll
Re: VideoIn (CLEye) help, the large IObox for the FPS is not actually connected to the videoin node so it will always show zero. But when I hover over the fps pin or connect it, it is still zero.
@mediadog - this is an error in the spreads (somehow only arose now, not sure how)
The spread of 6 parameters is making 6 camera instances (hence 100%ing your CPU).
Am working on a fix tomorrow i hope!
@DiMiX : CLEyeMulticam.dll comes with CLEye SDK (so if you do have that installed, then it'll work). Will include in next release
Red nodes in StereoCalibrate help patch are subpatches with the wrong path in the help patch's xml (using absolute rather than relative). you can fix this yourself as the patches are in the distribution, or wait for hotfix.
If nodes like Pipet are missing then the OpenCV dll must have a problem :(. unless it's using some strange paths again
OK
been tracking down some bugs today.
Reported by desaxismundi and others. Is caused by drag-dropping the files out of the zip package rather than unzipping using Extract all... (confirmed in some cases, desaxis is still having troubles)
This is in some parts due to differences in vvvv28 (e.g. cloning spreads). I found this bug in FindBoard node, moving to vvvv28 fixes this issue.
Suggests releasing 'stable' versions against each major vvvv release
thxs for the update. just did testing with 27.2&alpha 28 ok,the videoInput(DirectShow)seems now working just fine with my beta27.2,got normal 30 fps(how come the older one up to 60?),however the VideoIn (OpenCV) still not working with both27.2&alpha28,no given images at all.
VideoIn(CLEye) perfectly running up to 60fps on both version. with alpha28 the videoInput can shutdown properly,beta27.2 still the same. cheers!
hi Elliot, just few notes on the opencv nodes regarding the videoin (OpenCV) & videoin (OpenCV directshow) in some case you need to specify the native resolution of your cam for example my ids GigE cam only works @ its full resolution 1024x768 with a cheapo webcam all resolutions are supported tested under beta 27.2 & 28.
cheers!
noted VideoIn (OpenCV) is still not working properly right now but VideoIn (OpenCV DirectShow) is working well for me (couple of small changes). still more tidying up / testing to do on these
thanks @ circuitb for the notice. so you do get VideoIn (OpenCV) working as well?
alpha28 is necessary for the way that some of the nodes are handling spreads (e.g. calibration, contour)
yep both OpenCV & OpenCV directshow works here (beta 27.2 & alpha 28) but with this resolution thing at least with the IDS camera.
Hey Elliot Woods,
what do you think about this?
Any suggestions/ideas? Assus XtionPro on win7(x64) with vvvv45beta27.2
Note: I quickly checked the the openni parts of your code (on GitHub, there are some different repositories...), and I noticed that you init with 640x480@30fps, is that right or I'm completely wrong and should make myself another cup of coffee?
One more note: I did change the config xml to fit the Assus, still no result.
P.S. Whatever the performance, how complicated is to have a node: AsCvImageLink (Texture), you know....
Thanks ;)
EDIT: Here the not so easy-to-read-from-the-screenshot TTY message:
putting dll's inside C:\vvvv_45beta27.2\addonpack\lib\nodes\plugins should do it.
that's the Emgu CV .net DLL's which should be in the package
this error is caused by either:
please see the note at the top of this page about 'ERR : Exception occured in TMPluginWrapperNode.Evaluate: Could not load file' it's difficult to read in Internet Explorer.
essentially you need to make sure you DO NOT drag and drop the dll's out of the zip file, but instead use Extract all... (or just use 7zip)
Thanks Desaxismundi, but same error...
Strange...
Oooooook, I did download fresh OpenCValpha, deleted the old one. Extract with 7zip and overwrite the files in /addons/lib/nodes/plugins/.... and I got that:
Any ideas?
Many thanks people ;) for your feedback!
(edit) ;) I am sorry for the flood
so after restart, installing 28alpha and the rest, same problem like in the beginning with 27.2, 28alpha reports:
NOTE: I found a bug in error reporting inside the ContextAndImages node, here possible fix:
Elliot, are you sure that your OpenNI works with XtionPro, 320x240@60fps or is hardcoded 640x480@30 and so on kinect-wise stufish?
Thanks
cheers
Anyone have success getting user texture using the opencv openni plugins? (the mask texture of each active user)
I'm getting nothing out
@zeos : i've been able to get 60fps QVGA and 30fps VGA i use xtion pro live and kinect
i think the issue is that perhaps you're using xtion pro (i.e. not the 'live' version) which has no rgb feed, and i haven't coded for that case sorry i'll try and have a look next time i'm in that project, else hassle me more!
@mrboni - as on Skype (and for others here) - each user is given a colour equal to their User ID (e.g. 1,2,3,4,etc) since these colours are very dark, you won't see them in an AsTexture
You can however use the = node to select a user from this image (which outputs 255 per pixel where that user id is present)
To confirm the user texture info - the texture is a single 16bit channel. So if dealing with the texture in a shader, the colour value of user 1 is 1/65535, user 2 is 2/65535 etc.
You can use this to map each user's pixels to a different visible colour if you need, like the native openni user node does.
If just using the cvimage, = (opencv) will take just the integer value of the user id. easy!
Life is good! Two PS3Eyes running together at 60fps 640x480! The secret to make them work reliably with Contour was to render each texture (Quad -> Renderer -> DX9Texture) before sending into the AsVideo for input into each Contour node. I suspect this is a vvvv multiple video stream problem, and this technique may well fix the instability with the multiple PS3Eye plugin as well.
Great stuff Elliot, thanks a bazillion!
@mediadog - have you tried the opencv contour?
hi, any idea how to make calibratecamera(opencv) work in 28.1 ?
i've got following issue with the ps3eye:
when plugged directly into my macbook pro the VideoIn (CLEye) works as expected. when using an usb extension cable (which acts like a hub) this node does not recognise the camera, but i can utilise it without any problems with VideoIn (DShow9). therefore i believe it has nothing to do with the datarate over the extension.
did anyone use the ps3eye with this plugin with an extension/hub successfully?
Hi, I don't manage to get the VideoIn(OpenCV)and VideoIn(OpenCVDirectShow) nodes working in dx9ex mode. Am I doing something wrong ? Could someone confirm that it is or not working ? Thanks
Did the CLEye nodes get dropped in the imagepack? The VideoIn (CLEye) help file is still there, but red nodes on all the CLEye stuff - missing .DLL.
great stuff, great work!
i just have a bit of a hard time to figure out how to properly use them, a noob problem.... are there help patches for the openCV contour node?
or an example of a successful tracking implementation?
ah, how great would that be.... cheers! mkl
anyone have a way of tracking blob IDs from the contour node?
I think id currently is just an index in a list. So when we adding new controus, they have bigger id's. Or i'm not right?
but the ids need to be managed so if one contour disappears the others keep the same ids they had before
cluster might help
@mrboni - ah, ok, you are right. I will try to add this.
hi! how can i get the videoPlayer from here: https://github.com/elliotwoods/VVVV.Packs.Image/tree/master/lib/nodes/plugins into v4 ?
unfortunately this node is missing from the contribution, or is it me?
@itsnotfair I think it can be deprecated, i will look into it.
I have one extremely stupid question ... What for and how do i use the Structed light nodes ?
Can anyone post an example or a short explanation on this please ?
Thank you in advance :)
@synth
there's an help patch in packs\Images\nodes\plugins called Decode (Image.StructuredLight) help.v4p. Using the new build from https://github.com/elliotwoods/VVVV.Packs.Image after relinking some red node I'm able to see how it works and it exactly output the UV pass of the scanned area.
My question is is there a DX11 shader that accepts 2 texture doing the UV map? 1 Source texture to be mapped according to the UVpass of the 2nd.
Also is there a way to accellerate this process?
Anyway this contribution rocks! thanks Elliot!
@robe That sounds neat. Would love to see the finished patch if you get it up and running.
I had a dx9 shader that I think is what you are asking for, here is a quick port to dx11 tfx.
Edit: can't upload here because it's a contribution thread but the code is very short:
SampleByTexture.tfx
thank you @everyoneishappy! You made me happy with your shader.. Anyway the code editor gives me an error, but is working like a charm..
So, go to Elliot gitub and compile the last VVVV.Packs.Images The patch "Decode (Image.StructuredLight) help" in nodes\plugins should look like this (somewhat):
Then use AsTexture (OpenCV DX11 bla bla) to plug into your shader. It works.
As someone on the forum sayd, EliotWoods will release the new contribution soon. So stay tuned. I'm going to fund him.. ..He also bought the licence for EmguCV, so..
I added you on skype. Bye!
vvvv is asking for 'Length (Vector)' from the addonpack
should i have this? vvvv_45beta31_x86 (&x64) thanks
Are you sure that it is (Vector)? Maybe try dropping a Length(3d) and see if that works. Don't know the context but if you just need a normalised vector length then that's the one. I think some of the standard node file pointers are a bit funny with some of these patches, due to being patched in a super-mutant version of vvvv.
thanks. tried that. they would prob work, but it don't know where the input came from. if someone could take a look for me it would be appreciated.
the patch in question is:
the nodes that were missing are(, and the paths referenced):
(..i already had WaitForCalm from something else)
Hi Elliot & Joreg,
i was testing the new update for b31 and i miss the PS3Eye plugin, is it not any more available? and what about the /dx9ex compatible version?
thanks
Hi
i was also trying to test the image pack. I,m also missing the PS3Eye plugin in it ? also and more important for me is there a way to get the ID of the blobs using contour opencv ? and the rotation of the blobs ?
cheers
Hi guys, is there any chance to have new VVVV.Packs.Image with working CLEye?
what exactly isn't working? is it the cleye node itself or the conversion to dx9/11?
@sebl: CLEye plugin is missing as listed in the features chapter. Do VideoIn nodes support multi PS3eye cameras?
yes, if the node works, it supports multiple cams.
does this dll work for you (on beta31.2 x86)?
if not, you can compile it yourself. ask, if you need more info for that.
i'm failing in compiling the image-pack from source (using VS2012).
i'm getting lot's of these or similar errors
which indicates the wrong dependencies. nuget only installs current versions of these dependencies (i.e. 31.7.1-develop-171) and i have no clue where to get the older ones or update the pack to a newer version. any hints how to get this going? thanks
you can try this branch, where i tweaked some references and unloaded som projects (edsk, ximera, etc.)
@motzi: i met a similar error, i could fix it by manually fiddling with packages.config files in the projects
are there any plans on 64 bit versions...i think it could be interesting for the new kinect which is currently 64 bit only
i think, it is possible to compile for x64 (though i only did it for x86, yet)
hey sebl, i didnt know that. Sounds good...any cool tutorials that u would recommend on compiling vvvv sources?
you can start with compiling the addonpack. that's very good documented and will usually work out of the box. after getting a bit familiar with a projects structure and references, you do the same with another solution and fix missing references or errors from the error-list in your IDE until it compiles.
cool thx for the help! i give it a try
@sebl and microdee: thanks for your comments. i finally got it working and the quirk was somewhere else. after a complete restart with the vvvv-sdk and some relinking it turned out to be allright.
is there a recent uncopiled vesion of this pack that makes again use of the the videoin(cleye) ?
VideoIn node supports multicam but if I attached two or more PS3eye it see only one camera. How to use multi PS3eye cameras?
iirc there are 2 different drivers for the ps3eye. and only one of them (maybe bundled in some sdk) supports multiple cams.
For everyone, who can't build Imagepack - i'm created nuget dependencies for all binary packages, that was shipped with it. Here you can pull my fork - https://github.com/smakhtin/VVVV.Packs.Image/tree/pack. You need to clone it to the packs folder inside vvvv sdk (vvvv-sdk\vvvv45\packs). After this, to restore all dependencies execute nuget restore from the imagepack solution folder. I think you will experience problems with dx11 projects, that currently also become dependencies. To solve this, you can try clone my fork of dx11 nodes to the packs folder (packs\dx11) https://github.com/smakhtin/dx11-vvvv/tree/pack, alongside with already cloned imagepack.
I'm already made a pull request, so all this dependency fixing will be in main imagepack repo. About DX11 dependencies, i'm still need to fix native code support inside core vvvv packages, after this i will make a pull request.
I had a few issues to get the latest and greatest VVVV.Packs.Image to compile ... my progress is documented in this forum post compiling-latest-vvvv.packs.image-nodes-missing. As soon as I found a reliable way to compile the pack I will add a detailed report here in this post.
hi converting a dx11 texture to CV.Image with AsImage (DX11) result in a RGBA32F texture, but the findboard node ask for a RGB8 texture to operate!? is there a way to convert a CV.Image texture from RGBA32F to RGB8 ?
thanks
@princemio @sebl when switching from x86 to x64 in the imagePack solution only a small part of the nodes are available (15-20) not sure but perhaps some dependencies are 32 bits ? any other tips is welcome?
hm, i just compiled it against x64 - see attachment.
it was quite some hassle to get all the references on their place again. especially dx11, because there changed some things in the csproj-files since the imagepack was touched the last time. in general, this is a simple, but stupid task: get rid of all the little yellow exclamation marks in the references or add some references if the code has missing usings.
for the future, i think it would be cool, if the dx11-reference would be handled as as ubmodule, and so it always matches the right revision.
attachment is here: https://www.dropbox.com/s/4seticbv6q05kuh/Debug_x64.zip because one cannot upload non-images to a contributions discussion?
oh, and the attachment is totally untested :)
yeah, the upload in contribution has had some weird config for some time now.
more to the point, I think it would be better to have nuget for the feraltic and the dx11, because then it would be possible to create your own solution and still remain compatible with all of vux' work.
For the record: fixing issues with the latest images pack (2014_05_16) on github /forum-alpha/weird-behavior-for-vvvv.packs.image.
The latest imagepack is here https://www.dropbox.com/s/3pj1k10hk9xkohe/vvvv.packs.image_b32-x86.zip. Can't upload it to website, because file size is too big. Devvvvs will remove this restriction. x64 coming after feedback.
@alg, perfect! thx
@alg: it doesn't allocate any images for me, info shows nil or 0 for everything, inspector shows nothing and AsTexture (Both dx9 and dx11) is just black
@microdee really strange, AsTexture is working for me. If you enable exceptions, can you see any errors?
@alg: no exceptions are showing and no red nodes. it's not just AsTexture it looks like no image can be created (the image info is completely 0 and the cv inspektor is empty too), i've tried it with different sources (video, webcam, the built in noise, AsImage) neither of them working
@microdee can you test on a different device or OS?
Test build for beta32: I can relink some red nodes
where I can find VVVV.Nodes.OpenCV.dll?
@alg: it works on an other box, must be something with my useless junk, i'll reinstall windows on that and see if it's a hardware or a software problem. strange thing is that previous versions worked on the same system without a problem
hi, not sure at all but sometimes installing Visual Studio helps for some contributions/packs...
@circuitb: i have vs on my machine
@microdee this version was build against b32 and contains Factories. I think that's all core changes.
@alg: it refuses to do its job after a clean windows reinstall as well. will try with alphas but i'm beginning to think that my laptop simply hates me :D
is it possible that it doesn't work with ati gpu's or mobile hardware? becouse i've tried it on 2 laptops with ati and a box with nvidia, it didn't work on laptops and works on the box with nvidia. or this plugin specifically hate alienware :D
@microdee I can't test on Ati cards right now, all my pc's and laptop has Nvidia GPUs. Can you post your bug report on our github page? https://github.com/elliotwoods/VVVV.Packs.Image Hope someone from contributors can test it.
hi get an half working x64 image pack for beta 32.1 it was really painful to replace all the references cause the nuget thing doesn't work as excepted or i mess it up!
please correct me if i'm wrong, but some nodes are x86 only due to their dependencies:
-VVVV.Nodes.DeckLink.dll (x64 sounds possible)
-VVVV.Nodes.OpenCV.OpenNI.dll (no x64 at all and probably depreciated?)
-VVVV.Nodes.OpenCV.VideoInput.dll => VideoInputSharp.dll (x86 only !!) the Videoin (Cv.Image Directshow)doesn't work but vfw one works!
-VVVV.Nodes.Table.dll (apparently moved to addonpack but not yet available)
-VVVV.Nodes.OpenCV.FlyCapture.dll (x86 only?)
-VVVV.Nodes.OpenCV.OptiTrack.dll (should work but...) 00:37:13 * : Type 'VVVV.Nodes.OptiTrack.VideoInNode' not found in assembly 'VVVV.Nodes.OpenCV.OptiTrack, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Failed to create plugin node VideoIn (OptiTrack) (ID: 44).
all the other nodes of the Image Pack works for me... @elliot is there any plan for a x64 release?
Does anyone have problems with freezing camera?
we use 4 Logitech c920 on one PC, which seems to work. Somehow the cameras freeze at some point, all showing the last static image. Most of the times it runs fine for a couple of hours before this happens.
I disable / enable the cameras during runtime to save processing power. Could this be related? or maybe not enough usb resources? any way of debugging this, finding out where the error could happen? (the strange thing beeing that it runs "fine" (at 20fps) for some hours before hanging)
for me disabling / enabling camera's during runtime is not a good idea!
@guest - i think @alg has a 64bit build hopefully he'll post it up soon
Hi Node Jogglers
I want to run 2 PS3 Eye Cams with the CL drivers
The describtion here says 'CLEye (i.e. PlayStation eye) is currently disabled but can be back v. soon'
Is this outdated or still true? Cause I also can not get them to run, although the CL-Eye Test works. Actually the Devices node shows one of them, but no video ~
Cheers!
x64 PC - beta32.1 x86
'The type initializer for 'Emgu.CV.CvInvoke' threw an exception.'
on VideoIn (CLEye)
Google gives links:
https://www.youtube.com/watch?v=gaAfi1KjaGM
Any one experienced that and can say if that would fix it? If I buildit again with other dependencies?
Okey - ATI card is the problem. Other user experience the same! What could be the difference here and how to fix it?
I continue my troubleshooting log here
Note it is not anymore about getting the PS3 Eye to work but about fixing an error that I get on a lot of Nodes as output of the Status pin.
Appearently some users report it does not work on ATI cards.
But that is not the issue that causes that error: 'The type initializer for 'Emgu.CV.CvInvoke' threw an exception.'
The error appears as output on for exampe FileImage or the VideoIn (CL Eye).
I tested it also a lot on a 32bit W7 system with an intel HD4400 chip and it didn't work, same error.
The interesting thing is that it works on my personal notebook with exactely the same software and similar hardware beta32.1_x86 with the imagepack from this page intel hd4000 and this is a 64bit W7
I realy don't see what could be the difference between the systems that can cause that error.
If you have any idea, they are very welcome!
Edit:
The solution was found it was an missing dll
See more here
https://github.com/elliotwoods/VVVV.Packs.Image/issues/58
Edit2:
You can download the missing dll here http://www.symbioticcube.com/Downloads/nvcuda.dll
put it in nodes/plugins/dependencies/opencv/x86/
It should also fix anything that was previously accoutned to ATI cards. Thanks to alg for that essential hint.
ati hd5470 mobility works perfectly with nvcuda.dll, 10x alg and tekcor!
anyone 64 bit? @alg? I think it would be really cool. Especially for Kinect2.
hi,all I install "vvvv.packs_.image_b32-x86" version and run the "girlpower -> basic" patch, the camera enable but render screen still "Blank".
The "vvvv.packs_.image_b31-x86" works!!
thanks all ^^.
Thanks, tekcor
I encounter 'Emgu.CV.CvInvoke' problem with my "intel HD graphic 3000" graphic card , and i put the nvcuda.all, but when i used objectdetect node it will crash... any has this issue??
thanks all ^^
Apologies about the nvcuda.dll issues! I had noticed this last month also, I wish I'd made a note somewhere at the time.
Some notes at: http://stackoverflow.com/questions/12594993/emgucv-nvcuda-dll-could-not-be-found
(including my download link for the file incase another one is down).
Might drop all CUDA support from image pack and go with non GPU flavour until Emgu goes 2.4.9, or we go for another OpenCV wrapper (without EmguCV).
Elliot
2.4.9 seems to have nice new features aswell. and there is a solution for this problem, right? is there another drawback with emgucv?
Elliot,
I'll going to buy a nv card.
thx. ^^
Hi there are some hardware reccomandations/limitations? It doesn't work (black render) on my http://www.zotac.com/products/mini-pcs/zbox/product/zbox/detail/zbox-iq01-3/sort/starttime/order/DESC/amount/10/section/specifications.html
win 8.1 latest beta
ps tested on an old laptop win7 with intel hd and old gt nvida gpu and it works... tested also on 3 pcs with win 8.1 works out of the box... dont know why on zotac doesn't work
@Noir did try this?
put it in nodes/plugins/dependencies/opencv/x86/
Tnx joreg I'll give it a try and report back
Confirm it works with nvcuda.dll Tnx Joreg
could this be packes so that it can be unpacked like other packs, by placing it in the vvvv root and using z-zip to unpack here.
cleaning up after having unpacked it all over the place is quite annoying
i've got the same problem on my notebook. ATI and Intel Video + win7 64bit.
Whith nvcuda.dll it works, thanks.
But DetectObject (cv.image) work slower then detectObject (dshow9)
does anyone have an up to date x64 build?
@mrboni I built myself a 64bit version, and had to jump through some hoops to do it. So a lot of nodes in this build are probably broken, I know the video-in nodes don't show up. But all the basic CV nodes seem to be okay (Homography, CalibrateProjector/-Camera, Features, etc.)
Use with caution:
https://tubcloud.tu-berlin.de/public.php?service=files&t=10766688d0d06fa6a319613cd7ff456a
(this does include a 64bit nvcuda.dll I dug up from the net, of dubious origin. but we run all sorts of dubious dlls anyway, no? ;))
:)
nice one
Grandchild nice!
I am unable to get the OpenNI nodes to work, specifically for two Xtions, but not even for one Xtion. I tried to set up for two as seen in this blog post, but the ContextAndImages node is missing an input pin (middle one) that takes the device info:
2-*-xtion-live-(multiple-devices-openni)
ListDevices sees both devices fine. I am using Xtion Pros, not Lives here; is that why even one does not work? This is with 33.7_x86 and the latest version of this pack.
I have a LOT of Primesense/Xtion cameras I would love to use for multi-cam, but have had to use Kinect V1s with the MS Kinect nodes instead. Yuck - power bricks.
Thanks!
Well seems the ContextAndImages node had just lost the CreationInfo pin, and once I put that back in it works.
BUT - the framerate is roughly 1 depth image update every 2-4 seconds! That's even with a single Xtion hooked up. This is with 33.7_x86.
Anyone using the OpenNI nodes now and seeing full speed? Again this is with the Pro, not Live, so there is no RGB.
Hello everyone!
Does anyone by any chance has Image Pack compiled for 64bits and willing to share it with me ?
I am starting some experiments and i need 64bit vvvv soo yeah need 64bit Image pack as well.
Thank you in advance !
+1 @synth IDEM! tnx in advance
So i managed somehow to recompile it for x64. Things that i was able to test are working but there might be broken nodes here and there. I need it for now mostly to read HDR images as i am playing a bit with Emeshe.
On my first test when it is installed in /packs/ it kind of broke the Assimp modules, but after some adjustments seems to be OK.
Best regards!
robe please report if you find anything broken.
vvvv.Pack.Image.x64 https://www.dropbox.com/s/bp3xknysbr4l9tu/VVVV.Packs.Image.zip?dl=0
BTW please if i am braking any license rules please contact me and so i can remove it.
Hi synth and tnx... VVVV stucks on loading after adding the pack..:.:.. I'll investigate next week
Thanks a lot
robe interesting i have 4 computers and it works on all of them. Try removing all the packs but Imagepack. I have had similar issues before and this solved them.
Hi synth confirming: vvvv33.7x64 stucks on loading after adding the pack...........
Back to VS then, it seems I am the only who got it working.
It was compiled against the latest vvvv, DX11 and so on versions so minimum vvvv version is vvvv 45beta34.2 x64.
@robe is your machine DX11 capable? I know the DX11 pack will cause a similar hang on older non-DX11 machines (like laptops).
@mediadog: My pc in fully dx11 compatible (gtx970).. Probably my VVVV is a bit messy (packs, old contrib etc.) Will try with a fresh version..
Hey, friends! I'm looking for the way to get liveview from any DSLR camera. I tried to use this pack, but it actually doesn`t work with liveview. May be i did something wrong. Does anyone know how could i catch liveview?
@krementsov have you tried EDSDK?
oh.. stucks on loading after adding the pack........... me too.
Hangs for me on both my normal VVVV install and a clean version of 34.2 x64. Shame, because OpenCV stuff would be really useful in 64bit. Would definitely consider some form of flattery for a working 64bit version. :)
Thanks microdee! This finally motivated me to sign up to flattr. Now to flattr bomb my entire budget on VVVV and various contribs.
Shame about the lack of a VideoIn(DirectShow) node though. Anyone have ideas on what the most efficient workaround might be for getting a videostream through opencv/dx11/x64?
check VideoIn (CV.Image VfW), that's working under x64. If you want all the options of DirectShow though then easiest is VideoIn (DShow9) -> VideoTexture (EX9.Texture ...) wait for frame = 0 -> DX9ToDX11 (DX11.Texture2D OffscreenWindow) obtain from mp.dx -> AsImage (DX11.Texture2D) you have it.
The VfW node works, but is there a way to set the framerate of the stream on that node? How much of a performance hit does the DX9toDX11 conversion process have, do you think?
thanks just to let you know uEye nodes works for both x86 & x64!
thanks just to let you know uEye nodes works for both x86 & x64!
Loving the x64 version! BUT, the x64 camera and projector calibration nodes do not work properly: First use after loading they return sort-of-close results, and then on the second solve vvvv crashes. Sometimes the first solve attempt crashes.
I can take the exact same set of 3D and 2D points and node settings in the x86 version and it works perfectly - the correction is dead-on (say 3px error vs. x64 70px error) and no crashes with repeated solutions. And the vpm1 x86 gives the same results as the b33 x86 version.
Any ideas? Anyone have the x64 calibrations working? Maybe mismatched compiler flags in the x64 build?
i couldn't use latest x64 build. it seems cuda issue because my graphic card is amd radeon. how to solve in x64?
hi sebl, hi guest, I would love to try new uEye node, but cant get it work. my cam is listed as device, but get no picture. any advice? Thanks, dimi
did you try the helppatch? and, does your camera work in the uEye Cockpit app?
Hey sebl, I cant find helppatch. where is it? My cam works with cockpit and old uEyeCam node.
i tried build image pack manually with emgucv 2.4.10 in x64 and it worked.
@DiMiX how about other image pack nodes? i also faced similar situation and it was graphic card issue
my cam works with other image pack nodes: VideoIn (CV.Image VfW) and VideoIn (CV.Image DirectShow) But there are no specific uEye options like Pixelclock, Exposure, binning, AOI etc
i guess the transition to 3.1.0 would be enourmous?
Concerning OpenNI support in x64, OpenNI 1.5 and 2.2 x64 libs can be downloaded here:
http://www.lips-hci.com/products/sdk/
I am using them with a dynamic plugin and the x64 libs are plug-and-play with the x86 versions, just had to change the .csproj file to point to them.
Hey, I just noticed I'm redirected to a 'Pack not found' page when clicking on 'Get it with vpm'
Also found: in 'DetectFeatures (CV.Image) help.v4p' the node ImageToProjection can't be found. Using alpha 34.106 64bit
thanks for notice, that my be the case for other vpm distributed contribs
Hi I've had this pack installed and working (although never used it properly!) in a previous x86 install. But i've just made a clean install of vvvv on a new windows 10 install (with main aim to get kinect2 & projector calibration working), and when i've added the Image pack I'm getting a lot of red nodes when opening the Imagepack girlpower examples. It looks like there's missing dll's and .v4ps from the download, but i've tried downloading it a few times, and made sure to unzip it correctly with 7zip.
It's missing at least these files evident from opening the girlpower examples:
VVVV.Nodes.OpenCV.Videoinput.dll VVVV.Nodes.OpenCV.dll
BoardObjectPoints.v4p
The ImageAnalysis.v4p girlpower example also crashes vvvv moments after opening but I don't know if that's to do with it not having any videoinput stream to work with... There's some other strange things going on as well, but my main concern is that those missing files above aren't in the downloaded.7z file
Any suggestions very welcome. Along with any tips on getting the kinect2 / projector calibration to work which'll be my next task after solving this problem! Thanks
@fatalex this is a quick guess, but check out what a few comments above you say about nvcuda.dll
Or has this been fixed in the meantime?
I have a similar problem as @fatalex.
Windows 10, x64bit, newest alpha or newest beta x64. Using only the imagepack, without any other pack installed.
I can create the node CalibrateCamera, I'm getting appropriate error messages when I don't give it enough input and hit solve.
However when I do give it enough input and hit solve, I get this and vvvv crashes:
(Can't copy the text)
Any help? Getting nvcuda didn't help.
@dominikKoller I have not been able to get the x64 camera/projector calibrations to work at all (see my 30/08/16 comment). As a work around I use the x86 version to do the solution, save the transform, and then load it in x64. Works OK for fixed position setup, but not for dynamic of course. I suspect it is an x64 build issue.
@mediadog thanks. Hmm, I really don't know how to fix this. Anyone got any ideas?
My solution is to have a UPD connection between the x64 and x32 bit instances. I even had the x64 bit version start the x32 bit version via the ShellExecute node.. This is wasting a lot of time of many people, does anybody know how to fix it?
@dominikKoller i'm afraid this sounds like someone will have to debug this..
@mino How did you get x64pack with ATI card to work? I put nvcuda in every hole I could -system32, sysWOW64, openCV dependencies x64 & x86 But no success.
@DiMiX I rebuild image pack with newer emguCV library. It fixed nvidia issue, so works well on my MacBook. https://github.com/minoru-ito/VVVV.Packs.Image/tree/feature/emgucv-2.4.10
@mino thanks a lot for sharing. ATM I've switched to nvidia, but will check it later on with AMD
hi all,
ImagePack_x64.7z - 25.11.16 <23:39%20UTC> by sebl @ 45beta24.2x64 also tried some older builds, but not all of them.
If I setup the CV.Image(VfW) to 1080p, I just get 480p streams out of it. one or two cams, without repeater - same issue. Logitech 910B HD.
elliots videoin is red, altough i have visual studio installed.. any ideas?
Running the VPM "with dx11" doens't compile the AsImage(dx11) node on my computer.
I am using Visual Studio 2017 (I know, it sucks, but its lighter than 2015). IS this an isssue?
I tried the direct download from the page and that didn't seem to work either.
After update to 50beta35.5 x64
AsImage
andAsTexture
are red. Any Ideas?asimage and astexture DX11 might use now gone and deprecated *provider interfaces. someone will have to replace them with *host interfaces.
any workaround for using asimage and astexture DX11?
for me it's a missing dll VVVV.Nodes.OpenCV.dll
@arash can you make a forum thread with that issue?
Does anyone know how to calculate the depth from image obtained with Space (CV.StructuredLight)? The goal is to get a 3d point cloud.
Anyone tried VideoOut(DeckLink EX9.Texture) on this? I have Decklink 8K in my hand, and an 8K TV. But can't make it output videos from vvvv. EnumerateModes and VideoOut(Decklink ex9 sharedtexture) node is red.
Just a note to maintainer: There is a stray .gitignore file in ..\nodes\plugins
Makes git omit the DLLs and XMLs..
Hey, my AsImage node doesn't output a CvImageLink but a VLImage. Does anyone know how could I fix this?
@Yo_yo: this pack is heavily outdated. Check VL.OpenCV and read up on VL plugins for vvvv beta if you need any of this pack's features I guess.