grab_data_asyncT_grab_data_asyncGrabDataAsyncGrabDataAsync (Operator)

Name

grab_data_asyncT_grab_data_asyncGrabDataAsyncGrabDataAsync — Asynchroner Einzug von Bildern und vorverarbeiteten Bilddaten vom angegebenen Bildeinzugsgerät.

Signatur

grab_data_async( : Image, Region, Contours : AcqHandle, MaxDelay : Data)

Herror T_grab_data_async(Hobject* Image, Hobject* Region, Hobject* Contours, const Htuple AcqHandle, const Htuple MaxDelay, Htuple* Data)

void GrabDataAsync(HObject* Image, HObject* Region, HObject* Contours, const HTuple& AcqHandle, const HTuple& MaxDelay, HTuple* Data)

HRegion HImage::GrabDataAsync(HXLDCont* Contours, const HFramegrabber& AcqHandle, double MaxDelay, HTuple* Data)

HRegion HImage::GrabDataAsync(HXLDCont* Contours, const HFramegrabber& AcqHandle, double MaxDelay, HString* Data)

HImage HRegion::GrabDataAsync(HXLDCont* Contours, const HFramegrabber& AcqHandle, double MaxDelay, HTuple* Data)

HImage HRegion::GrabDataAsync(HXLDCont* Contours, const HFramegrabber& AcqHandle, double MaxDelay, HString* Data)

HImage HFramegrabber::GrabDataAsync(HRegion* Region, HXLDCont* Contours, double MaxDelay, HTuple* Data) const

HImage HFramegrabber::GrabDataAsync(HRegion* Region, HXLDCont* Contours, double MaxDelay, HString* Data) const

static void HOperatorSet.GrabDataAsync(out HObject image, out HObject region, out HObject contours, HTuple acqHandle, HTuple maxDelay, out HTuple data)

HRegion HImage.GrabDataAsync(out HXLDCont contours, HFramegrabber acqHandle, double maxDelay, out HTuple data)

HRegion HImage.GrabDataAsync(out HXLDCont contours, HFramegrabber acqHandle, double maxDelay, out string data)

HImage HRegion.GrabDataAsync(out HXLDCont contours, HFramegrabber acqHandle, double maxDelay, out HTuple data)

HImage HRegion.GrabDataAsync(out HXLDCont contours, HFramegrabber acqHandle, double maxDelay, out string data)

HImage HFramegrabber.GrabDataAsync(out HRegion region, out HXLDCont contours, double maxDelay, out HTuple data)

HImage HFramegrabber.GrabDataAsync(out HRegion region, out HXLDCont contours, double maxDelay, out string data)

Beschreibung

grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync fordert ein asynchron eingezogenes Bild und vorverarbeitete Bilddaten über das durch AcqHandleAcqHandleAcqHandleAcqHandleacqHandle spezifizierte Bildeinzugsgerät an. Standardmäßig startet grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync 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. Abhängig von der aktuellen Konfiguration des Bildeinzugsgeräts können die vorverarbeiteten Bilddaten in Form von Bildern (ImageImageImageImageimage), Bildregionen (RegionRegionRegionRegionregion), XLD-Konturen (ContoursContoursContoursContourscontours) und Steuerdaten (DataDataDataDatadata) zurückgeliefert werden.

Der Abschluss des neu gestarteten Bildeinzuges erfolgt mittels grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync oder grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync. 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_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync der Operator grab_imagegrab_imageGrabImageGrabImageGrabImage oder grab_datagrab_dataGrabDataGrabDataGrabData aufgerufen wird, wird der mit grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync 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_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsync läuft mit allen nicht exklusiven Operatoren innerhalb und außerhalb der Gruppe parallel.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (output_object)  image(-array) objectHImageHImageHobject * (byte / real / uint2)

Eingezogene Bilddaten.

RegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHobject *

Vorverarbeitete Bildregionen.

ContoursContoursContoursContourscontours (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Vorverarbeitete XLD-Konturen.

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

DataDataDataDatadata (output_control)  string(-array) HTupleHTupleHtuple (string / real / integer / handle) (string / double / int / long / HHandle) (HString / double / Hlong / HHandle) (char* / double / Hlong / handle)

Vorverarbeitete Steuerdaten.

Beispiel (HDevelop)

* 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, segment it, and start next grab
grab_data_async (Image1, Region1, Contours1, AcqHandle, -1.0, Data1)
* Process data 1...
* Finish asynchronous grab, segment this image, and start next grab
grab_data_async (Image2, Region2, Contours2, AcqHandle, -1.0, Data2)
* Process data 2...
close_framegrabber(AcqHandle)

Ergebnis

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

Vorgänger

open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber, grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStart, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam

Nachfolger

grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabber

Siehe auch

open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabber, info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParam

Modul

Foundation