Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I access vertical mirror attribute for a firewire camera (imaqdx)

Solved!
Go to solution
IMAQdx won't recognize a raw graph like that. You might be able to find some 3rd party camera emulators/wrappers that let you mess with the graph though and then look like a DirectShow camera.

IMAQdx does have a feature exposed for DirectShow cameras called VerticalMirror. It is designed to switch between the standard BMP/DirectShow bottom-up format and a more industrial-camera-specific top-down format. It exists because some machine vision cameras that support DirectShow have the capability to output their video in this format and so the driver can optionally not flip it. You could try this, but I think you'll still be missing the horizontal mirroring for your image to be fully correct.

IMAQdx doesn't have built-in support for what you want because it has highly optimized decoders to get the image from the source format from the camera to the normal Vision image type. To do mirroring like you want can be done simply with the various image manipulation functions provided so we don't normally provide it in the driver.
Message 11 of 16
(2,770 Views)

VerticalMirror would be enough. If we wanted both vertical and horizontal we would just put a 1:1 telescope on our optics 🙂

OK, off to look for DirectShow camera wrappers. Sounds like if we find one then it is a trivial graph.

0 Kudos
Message 12 of 16
(2,768 Views)
Solution
Accepted by topic author s_d_g
If that is the case you should need no wrapper or graph. The built-in Windows FireWire DCAM driver and IMAQdx should be enough.
0 Kudos
Message 13 of 16
(2,765 Views)

Has anyone set it up like that? I am going to run with this tomorrow for sure but if you have any example (e.g. url or blog) then that would help tons. I am mostly worried about how to get IMAQdx driver to piggyback off the MS-driver. Is it as simple as reverting to MS driver and then opening MAX and selecting the imaqdx driver? I guess I am worried because all instructions I saw so far are for installing the camera with imaqdx driver only.

0 Kudos
Message 14 of 16
(2,763 Views)

Well, I actually drove up to work on a Sunday night to test this out. Turns out, unibrain hides the MS-stack and sets up its own proprietary stack instead but you can force windows to use the DirectShow MS stack. In which case MAX does recognize the camera and does give me VerticalMirror option...

I would mark this as solved but there is a problem. With MS stack, MAX refuses to grab the video and throws "Error 0x80040217 The error code passed into imgShowError is unknown". This seems to be a simple mismatch between image type from the camera and the image type expected by IMAQdx driver, or in other words a conflict somewhere in the middle of a DirectShow graph behind the scenes. How do I debug this? Thanks in advance. This has been tremendously infrmative already and I feel like my lab is _this_ close.

0 Kudos
Message 15 of 16
(2,751 Views)

OK, so if I downscale the resolution a bit to the more standard size then it all works. Issue solved. Thanks Eric.

0 Kudos
Message 16 of 16
(2,741 Views)