Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-IMAQdx driver in gigE interface camera

I am using the NI-IMAQdx driver to controll a gigE interface camera (Prosilica GE-4900C).Camera's reselustion is 4872 x 3248 pixels

When acquiring a raw data of a picture using : IMAQdxStartAcquisition function follows with IMAQdxGetImageData function – I am getting full resolution raw data of the picture (4872 x 3248 pixels).My question is:

Can I sample a define section of a picture?

For example – only half of a picture defining start and end section of acquiring? In that case I'll get only half of the original raw data.

It takes time to acquire full picture data while using only small part of the picture for analysis.

 

regards,

Yaniv Sisma

Elbit Systems Ltd. 

0 Kudos
Message 1 of 8
(4,697 Views)

Yaniv,

 

You can adjust the Width and Height of the image that the camera acquires. This will (usually) change how much data is is physically read from the sensor and might allow you to get higher frame rates as well.

 

To change this you can either adjust them in MAX under the Width and Height parameters and then click "Save" to save those settings as the new defaults for any NI software opening the camera, or you can use property nodes in LabVIEW to set this dynamically.

 

Eric 

0 Kudos
Message 2 of 8
(4,687 Views)

Hi ERIC

thank you for your reply

 

0 Kudos
Message 3 of 8
(4,683 Views)

For cameras using CCD sensors, only Height reductions lead to speed gains by reducing data volumes.   CMOS-sensor cameras, due to different sensor readout, enjoy speed gains for either/both Height and Width reductions.  (these are general characteristics of CCD and CMOS sensor technology - not vendor-specific)

 

... the GE 4900 camera in question happens to be a CCD-sensor camera.  In general for Allied (& now Prosilica) cameras please refer to datasheet at http://www.alliedvisiontec.com/us/products/cameras.html to determine sensor type.  To determine speed gains through AOI (Area of Interest - sometimes called ROI - Region of Interest) please see camera technical manual at  http://www.alliedvisiontec.com/us/support/downloads/product-literature.html.

 

Scott

Message Edited by ScottSmith on 12-09-2009 12:02 PM
Message Edited by ScottSmith on 12-09-2009 12:03 PM
Message Edited by ScottSmith on 12-09-2009 12:03 PM
0 Kudos
Message 4 of 8
(4,682 Views)

I've written a GStreamer plugin for NI-IMAQdx, but one problem I have is that IMAQdxGetImageData appears to get me the completely raw frame, ignoring any ROI that may have been set (e.g., via MAX), however the width and height attributes give the ROI width and height, not the full frame width and height. I can't find anyway to retrieve the full-frame width and height, so that when I copy data over I only copy the ROI. Alternatively, is there a hidden attribute where I can set the width and height of the buffer returned by IMAQdxGetImageData?

0 Kudos
Message 5 of 8
(3,737 Views)

IMAQdxGetImageData returns the raw payload buffer with no decoding done on the image. Usually in IMAQdx the ROI is only applied on-camera, with the exception of FireWire for legacy compatibility reasons. In all other cases, setting the ROI should affect the raw data as well. In general, you probably would want to get the image decoded by IMAQdx and then translate it to an array with ImageToArray. This was you always get consistent decoding regardless of camera type. Otherwise your code needs to know how to decode varias multi-byte formats, endiannesses, etc.

 

Eric

Message 6 of 8
(3,735 Views)

I usually want to capture RAW because I don't want any conversion or processing done on the data without my knowledge. The problem I'm having is with a Firewire camera, so it sounds like I've hit a limitation of the API (not being able to get both the raw and ROI size). I'm using the C interface, so I suppose I'd need to use imaqImageToArray. Thanks.

0 Kudos
Message 7 of 8
(3,730 Views)

If you are using Format 7 video on your Firewire camera, the ROI setting should generally apply to the camera (the driver will just cut out the ROI if the granularity of the camera is not fine enough).

 

Eric

0 Kudos
Message 8 of 8
(3,727 Views)