grab_image_asyncT_grab_image_asyncGrabImageAsyncGrabImageAsync (Operator)

Name

grab_image_asyncT_grab_image_asyncGrabImageAsyncGrabImageAsync — Asynchroner Einzug eines Bildes vom angegebenen Bildeinzugsgerät.

Signatur

grab_image_async( : Image : AcqHandle, MaxDelay : )

Herror T_grab_image_async(Hobject* Image, const Htuple AcqHandle, const Htuple MaxDelay)

void GrabImageAsync(HObject* Image, const HTuple& AcqHandle, const HTuple& MaxDelay)

void HImage::GrabImageAsync(const HFramegrabber& AcqHandle, double MaxDelay)

HImage HFramegrabber::GrabImageAsync(double MaxDelay) const

static void HOperatorSet.GrabImageAsync(out HObject image, HTuple acqHandle, HTuple maxDelay)

void HImage.GrabImageAsync(HFramegrabber acqHandle, double maxDelay)

HImage HFramegrabber.GrabImageAsync(double maxDelay)

Beschreibung

grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync fordert ein asynchron eingezogenes Bild über das durch AcqHandleAcqHandleAcqHandleAcqHandleacqHandle spezifizierte Bildeinzugsgerät an. Standardmäßig startet grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync 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". Der gewünschte Betriebsmodus des Bildeinzugsgeräts, ein passender Bildausschnitt sowie weitere Schnittstellen-spezifische Einstellungen können mittels der Operatoren open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber und set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam vorgenommen werden.

Der Abschluss des neu gestarteten Bildeinzuges erfolgt mittels grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync oder grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync. Sind mehr als MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay ms seit dem Start des Einzuges vergangen, wird falls nötig ein neues Bild eingezogen. Ein negativer Wert für MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay deaktiviert diesen Mechanismus.

Der Abbruch des Bildeinzugs kann mit dem Operator set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam 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_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync der Operator grab_imagegrab_imageGrabImageGrabImageGrabImage oder grab_datagrab_dataGrabDataGrabDataGrabData aufgerufen wird, wird der mit grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync begonnene asynchrone Bildeinzug abgebrochen und ein neuer, synchroner Bildeinzug gestartet.

Achtung

Aus Sicht einer Anwendung mit mehreren Threads bilden alle Bildeinzugsoperatoren (wie in open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber aufgelistet) eine eigene Gruppe innerhalb der info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbers exklusiv ausgeführt werden.

grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync läuft mit allen nicht exklusiven Operatoren innerhalb und außerhalb der Gruppe parallel.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (output_object)  image objectHImageHImageHobject * (byte / int2)

Eingezogenes Bild.

AcqHandleAcqHandleAcqHandleAcqHandleacqHandle (input_control)  framegrabber HFramegrabber, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zu benutzendes Bildeinzugsgerät.

MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay (input_control)  number HTupleHTupleHtuple (real) (double) (double) (double)

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

Beispiel (HDevelop)

* 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)

Ergebnis

Ist das Bildeinzugsgerät geöffnet und unterstützt es den asynchronen Bildeinzug, liefert grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync den Wert 2 (H_MSG_TRUE). Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam

Nachfolger

grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber

Siehe auch

grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber, info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam

Modul

Foundation