Name
grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart — Start an asynchronous grab from the specified image acquisition device.
The operator grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart starts the asynchronous grab of
an image via the image acquisition device specified by AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle.
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_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber and
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam.
The grab is finished via grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync or
grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync. The MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay parameter is obsolete and
does not effect the new asynchronous grab. Note that you can check for a
too old image by using the MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay parameter of the operator
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync or grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync, respectively.
Please note that the operator grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart makes sense only when
used together with grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync or grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync. If
you call the operators grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage or grab_datagrab_dataGrabDatagrab_dataGrabDataGrabData instead, the
asynchronous grab started by grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart is aborted and a new
synchronous grab is started.
To abort the grab, the operator set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam 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.
Basically an image acquisition handle AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle cannot be used
in multiple threads. However, possible exceptions are described in the
specific reference documentation of the respective image acquisition interface.
Different image acquisition handles can be used safely with different threads
for each handle.
For a multithreaded application all image acquisition operators
(as listed in open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber) are
an own group in which info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber,
close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber and close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbers are
executed exclusively.
grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart 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.
This parameter is obsolete and has no effect.
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 name AcqName
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image1,AcqHandle)
* Start next grab
grab_image_start(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 name AcqName */
open_framegrabber(AcqName,1,1,0,0,0,0,"default",-1,"default",-1.0,
"default","default","default",-1,-1,&AcqHandle) ;
grab_image(&Image1,AcqHandle) ;
/* Start next grab */
grab_image_start(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 name AcqName
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image1,AcqHandle)
* Start next grab
grab_image_start(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 name AcqName
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image1,AcqHandle)
* Start next grab
grab_image_start(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 name AcqName
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image1,AcqHandle)
* Start next grab
grab_image_start(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 name AcqName
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
'default','default','default',-1,-1,AcqHandle)
grab_image(Image1,AcqHandle)
* Start next grab
grab_image_start(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_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart returns the value 2 (H_MSG_TRUE).
Otherwise an exception is raised.
open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync,
grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam,
close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber
open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber,
info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam
Foundation