grab_image_asyncT_grab_image_asyncGrabImageAsyncGrabImageAsyncgrab_image_async (Operator)

Name

grab_image_asyncT_grab_image_asyncGrabImageAsyncGrabImageAsyncgrab_image_async — 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)

def grab_image_async(acq_handle: HHandle, max_delay: float) -> HObject

Beschreibung

grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async fordert ein asynchron eingezogenes Bild über das durch AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle spezifizierte Bildeinzugsgerät an. Standardmäßig startet grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async 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_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber und set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param vorgenommen werden.

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

Der Abbruch des Bildeinzugs kann mit dem Operator set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param 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_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async der Operator grab_imagegrab_imageGrabImageGrabImageGrabImagegrab_image oder grab_datagrab_dataGrabDataGrabDataGrabDatagrab_data aufgerufen wird, wird der mit grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async 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_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber aufgelistet) eine eigene Gruppe innerhalb der info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber und close_all_framegrabbersclose_all_framegrabbersCloseAllFramegrabbersCloseAllFramegrabbersCloseAllFramegrabbersclose_all_framegrabbers exklusiv ausgeführt werden.

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

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (output_object)  image objectHImageHObjectHImageHobject * (byte / int2)

Eingezogenes Bild.

AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle (input_control)  framegrabber HFramegrabber, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zu benutzendes Bildeinzugsgerät.

MaxDelayMaxDelayMaxDelayMaxDelaymaxDelaymax_delay (input_control)  number HTuplefloatHTupleHtuple (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_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async den Wert TRUE. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStartgrab_image_start, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param

Nachfolger

grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber

Siehe auch

grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStartgrab_image_start, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param

Modul

Foundation