Name
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync — Asynchroner Einzug eines Bildes vom angegebenen Bildeinzugsgerät.
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync fordert ein asynchron eingezogenes Bild über das
durch AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle spezifizierte Bildeinzugsgerät an.
Standardmäßig startet grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync den nächsten asynchronen
Einzug, bevor der Operator sich zurückmeldet.
Nähere Informationen zu dem Verhalten eines bestimmten Bildeinzugsgeräts
befinden sich in der Dokumentation für die verwendete
Bildeinzugsschnittstelle im Verzeichnis
'doc/html/reference/acquisition'"doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition""doc/html/reference/acquisition".
Der gewünschte Betriebsmodus des Bildeinzugsgeräts, ein passender
Bildausschnitt sowie weitere Schnittstellen-spezifische Einstellungen
können mittels der Operatoren open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber und
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam vorgenommen werden.
Der Abschluss des neu gestarteten Bildeinzuges erfolgt mittels
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync oder grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync. Sind mehr als
MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay ms seit dem Start des Einzuges vergangen, wird falls nötig
ein neues Bild eingezogen. Ein negativer Wert für MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay
deaktiviert diesen Mechanismus.
Der Abbruch des Bildeinzugs kann mit dem Operator
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam erfolgen, sofern die jeweilige
Bildeinzugsschnittstelle den dazu notwendigen Parameter
'do_abort_grab' unterstützt. Es ist zu beachten, dass, als
Ausnahme von der Beschreibung der gleichzeitigen Verwendung mehrerer
Threads (siehe unten), 'do_abort_grab' auch aus einem anderen
Thread aufgerufen werden kann.
Falls nach grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync der Operator grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage oder
grab_datagrab_dataGrabDatagrab_dataGrabDataGrabData aufgerufen wird, wird der mit grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync
begonnene asynchrone Bildeinzug abgebrochen und ein neuer, synchroner
Bildeinzug gestartet.
Aus Sicht einer Anwendung mit mehreren Threads bilden alle
Bildeinzugsoperatoren (wie in open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber aufgelistet)
eine eigene Gruppe innerhalb der info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber,
open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber und
close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbers exklusiv ausgeführt werden.
grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync läuft mit allen nicht exklusiven
Operatoren innerhalb und außerhalb der Gruppe parallel.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Zu benutzendes Bildeinzugsgerät.
Maximal erlaubte Verzögerung zwischen Start des
Einzugs und Auslesen des Bildes [ms].
Defaultwert: -1.0
Wertevorschläge: -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)
* 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)
Ist das Bildeinzugsgerät geöffnet und unterstützt es den asynchronen
Bildeinzug, liefert grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync den Wert 2 (H_MSG_TRUE).
Ansonsten wird eine Fehlerbehandlung durchgeführt.
grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart,
open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam
grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam,
close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber
grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart,
open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber,
info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber,
set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam
Foundation