grab_image_async
— Asynchroner Einzug eines Bildes vom angegebenen Bildeinzugsgerät.
grab_image_async
fordert ein asynchron eingezogenes Bild über das
durch AcqHandle
spezifizierte Bildeinzugsgerät an.
Standardmäßig startet grab_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' .
Der gewünschte Betriebsmodus des Bildeinzugsgeräts, ein passender
Bildausschnitt sowie weitere Schnittstellen-spezifische Einstellungen
können mittels der Operatoren open_framegrabber
und
set_framegrabber_param
vorgenommen werden.
Der Abschluss des neu gestarteten Bildeinzuges erfolgt mittels
grab_image_async
oder grab_data_async
. Sind mehr als
MaxDelay
ms seit dem Start des Einzuges vergangen, wird falls nötig
ein neues Bild eingezogen. Ein negativer Wert für MaxDelay
deaktiviert diesen Mechanismus.
Der Abbruch des Bildeinzugs kann mit dem Operator
set_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_async
der Operator grab_image
oder
grab_data
aufgerufen wird, wird der mit grab_image_async
begonnene asynchrone Bildeinzug abgebrochen und ein neuer, synchroner
Bildeinzug gestartet.
Aus Sicht einer Anwendung mit mehreren Threads bilden alle
Bildeinzugsoperatoren (wie in open_framegrabber
aufgelistet)
eine eigene Gruppe innerhalb der info_framegrabber
,
open_framegrabber
, close_framegrabber
und
close_all_framegrabbers
exklusiv ausgeführt werden.
grab_image_async
läuft mit allen nicht exklusiven
Operatoren innerhalb und außerhalb der Gruppe parallel.
Image
(output_object) image →
object (byte / int2)
Eingezogenes Bild.
AcqHandle
(input_control) framegrabber →
(handle)
Zu benutzendes Bildeinzugsgerät.
MaxDelay
(input_control) number →
(real)
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)
Ist das Bildeinzugsgerät geöffnet und unterstützt es den asynchronen
Bildeinzug, liefert grab_image_async
den Wert 2 (H_MSG_TRUE).
Ansonsten wird eine Fehlerbehandlung durchgeführt.
grab_image_start
,
open_framegrabber
,
set_framegrabber_param
grab_data_async
,
set_framegrabber_param
,
close_framegrabber
grab_image_start
,
open_framegrabber
,
info_framegrabber
,
set_framegrabber_param
Foundation