Replacing DirectShow with managed OpenCV. Video playback / capture / CV

Hi
I am desperately trying to get a http://www.grassvalley.com/products/pegasus to stream into vvvv, it comes with a SDK but no mention of DirectShow.
The task is a bit daunting for my skills but I am stubborn enough… I am not sure if the new OpenCV libraries are a way to go or not… help, ideas, hints?
tx
Simone

if you chat about such stuff, pleasepleaseplease don’t do it in an invitation-only chat system (ie. skype), but rather use vvvvs irc channel. we live in the 21st century after all…

@io I think yes. You need to write your own plugin for this board if it’s not DirectShow compatible. It would be nice, if you plugin can output Image type together with texture. We still not sure about our datatype and currently have 2 main branches of this project - one is based on subgraph method and another on simple threading. Currently threaded branch is more production ready, but still need some fixes.

@joreg i think this is a good idea.

i wouldn’t describe this branch as ‘production ready’
but right now it’s an awesome cv research resource

@joreg - will try to use irc in future.
what’s your opinion on this?

Hi Elliot,

I was just checking out the great stuff from http://www.kimchiandchips.com/blog/?p=725
and I decided to try the patch, but I got this output:

Element: VVVV.Nodes.EmguCV.IntrinsicsSplitNode (ContractName="VVVV.PluginInterfaces.V1.IPluginBase") -->  VVVV.Nodes.EmguCV.IntrinsicsSplitNode -->  TypeCatalog (Types='VVVV.Nodes.EmguCV.IntrinsicsSplitNode').

   at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.CatalogExport.GetExportedValueCore()
   at System.ComponentModel.Composition.Primitives.Export.get_Value()
   at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
   at System.ComponentModel.Composition.ExportServices.GetExportLifetimeContextFromExport[T](Export export)
   at System.ComponentModel.Composition.ExportServices.<>c**DisplayClass1c`1.<CreateStronglyTypedExportFactoryOfT>b**1b()
   at System.ComponentModel.Composition.ExportFactory`1.CreateExport()
   at VVVV.Hosting.Factories.DotNetPluginFactory.CreatePlugin(INodeInfo nodeInfo, IPluginHost2 pluginHost)
   at VVVV.Hosting.Factories.DotNetPluginFactory.CreateNode(INodeInfo nodeInfo, IInternalPluginHost pluginHost)
   at VVVV.Hosting.Factories.AbstractFileFactory`1.Create(INodeInfo nodeInfo, INode host)
   at VVVV.Hosting.HDEHost.CreateNode(INode node)
00:00:52 ERR : System.ComponentModel.Composition.CompositionException: The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) Cannot create an instance of type 'VVVV.Nodes.EmguCV.ExtrinsicsSplitNode' because a constructor could not be selected for construction. Ensure that the type either has a default constructor, or a single constructor marked with the 'System.ComponentModel.Composition.ImportingConstructorAttribute'.

Resulting in: Cannot activate part 'VVVV.Nodes.EmguCV.ExtrinsicsSplitNode'.
Element: VVVV.Nodes.EmguCV.ExtrinsicsSplitNode -->  VVVV.Nodes.EmguCV.ExtrinsicsSplitNode -->  TypeCatalog (Types='VVVV.Nodes.EmguCV.ExtrinsicsSplitNode').

Resulting in: Cannot get export 'VVVV.Nodes.EmguCV.ExtrinsicsSplitNode (ContractName="VVVV.PluginInterfaces.V1.IPluginBase")' from part 'VVVV.Nodes.EmguCV.ExtrinsicsSplitNode'.
Element: VVVV.Nodes.EmguCV.ExtrinsicsSplitNode (ContractName="VVVV.PluginInterfaces.V1.IPluginBase") -->  VVVV.Nodes.EmguCV.ExtrinsicsSplitNode -->  TypeCatalog (Types='VVVV.Nodes.EmguCV.ExtrinsicsSplitNode').

Any ideas?
all the best and thank you!