Name
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync — Asynchronous grab of an image from the specified image acquisition device.
The operator grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync requests an asynchronously grabbed
image from the image acquisition device specified by AcqHandleAcqHandleAcqHandleAcqHandleacqHandle.
By default, grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync also starts the next asynchronous grab
before the operator returns.
More information about the behavior of a specific image acquistion device
can be found in the corresponding interface documentation in the directory
'doc/html/reference/acquisition'"doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition".
The desired operational mode of the image acquisition device as well as a
suitable image part and additional interface-specific settings can be
specified using the operators open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber and
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam.
The grab is finished by calling grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync or
grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync. If more than MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay ms have passed
since the asynchronous grab was started, the asynchronously grabbed image
is considered as too old and a new image is grabbed, if necessary. If a
negative value is assigned to MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay, this control mechanism is
deactivated.
To abort the grab, the operator set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam with the
parameter 'do_abort_grab' can be used if the specific image
acquisition interface supports it. Note that as an exception from
the description of the concurrent usage in multiple threads (see below)
'do_abort_grab' can also be used from another thread.
Please note that if you call the operators grab_imagegrab_imageGrabImageGrabImageGrabImage or
grab_datagrab_dataGrabDataGrabDataGrabData after grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync, the asynchronous grab
started by grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync is aborted and a new
synchronous grab is started.
For a multithreaded application all image acquisition operators
(as listed in open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber) are
an own group in which info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber and close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbers are
executed exclusively.
grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync runs in parallel with all non-exclusive
operators inside and outside of this group.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Handle of the acquisition device to be used.
Maximum tolerated delay between the start of the
asynchronous grab and the delivery of the image [ms].
Default value: -1.0
Suggested values: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9
* Select a suitable image acquisition interface named AcqName
open_framegrabber('AcqName', 1, 1, 0, 0, 0, 0, 'default' ,-1 ,'default' ,-1.0, \
'default', 'default', 'default', -1, -1, AcqHandle)
* Grab image + start next grab
grab_image_async(Image1, AcqHandle, -1.0)
* Process Image1 ...
* Finish asynchronous grab + start next grab
grab_image_async(Image2, AcqHandle, -1.0)
* Process Image2 ...
close_framegrabber(AcqHandle)
/* Select a suitable image acquisition interface named AcqName */
open_framegrabber("AcqName", 1, 1, 0, 0, 0, 0, "default", -1, "default", -1.0,
"default", "default", "default", -1, -1, &AcqHandle) ;
/* Grab image + start next grab */
grab_image_async(&Image1, AcqHandle, -1.0) ;
/* Process Image1... */
/* Finish asynchronous grab + start next grab */
grab_image_async(&Image2, AcqHandle, -1.0) ;
/* Process Image2... */
close_framegrabber(AcqHandle) ;
* Select a suitable image acquisition interface named AcqName
open_framegrabber('AcqName', 1, 1, 0, 0, 0, 0, 'default' ,-1 ,'default' ,-1.0, \
'default', 'default', 'default', -1, -1, AcqHandle)
* Grab image + start next grab
grab_image_async(Image1, AcqHandle, -1.0)
* Process Image1 ...
* Finish asynchronous grab + start next grab
grab_image_async(Image2, AcqHandle, -1.0)
* Process Image2 ...
close_framegrabber(AcqHandle)
* Select a suitable image acquisition interface named AcqName
open_framegrabber('AcqName', 1, 1, 0, 0, 0, 0, 'default' ,-1 ,'default' ,-1.0, \
'default', 'default', 'default', -1, -1, AcqHandle)
* Grab image + start next grab
grab_image_async(Image1, AcqHandle, -1.0)
* Process Image1 ...
* Finish asynchronous grab + start next grab
grab_image_async(Image2, AcqHandle, -1.0)
* Process Image2 ...
close_framegrabber(AcqHandle)
* Select a suitable image acquisition interface named AcqName
open_framegrabber('AcqName', 1, 1, 0, 0, 0, 0, 'default' ,-1 ,'default' ,-1.0, \
'default', 'default', 'default', -1, -1, AcqHandle)
* Grab image + start next grab
grab_image_async(Image1, AcqHandle, -1.0)
* Process Image1 ...
* Finish asynchronous grab + start next grab
grab_image_async(Image2, AcqHandle, -1.0)
* Process Image2 ...
close_framegrabber(AcqHandle)
If the image acquisition device is open and supports asynchronous grabbing
the operator grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync returns the value 2 (H_MSG_TRUE).
Otherwise an exception is raised.
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart,
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam
grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam,
close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber
grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart,
open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber,
info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam
Foundation