KlassenKlassenKlassenKlassen | | | | Operatoren

grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart (Operator)

Name

grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart — Start eines asynchronen Bildeinzugs vom angegebenen Bildeinzugsgerät.

Signatur

grab_image_start( : : AcqHandle, MaxDelay : )

Herror grab_image_start(const Hlong AcqHandle, double MaxDelay)

Herror T_grab_image_start(const Htuple AcqHandle, const Htuple MaxDelay)

Herror grab_image_start(const HTuple& AcqHandle, const HTuple& MaxDelay)

void HFramegrabber::GrabImageStart(const HTuple& MaxDelay) const

void GrabImageStart(const HTuple& AcqHandle, const HTuple& MaxDelay)

void HFramegrabber::GrabImageStart(double MaxDelay) const

void HOperatorSetX.GrabImageStart(
[in] VARIANT AcqHandle, [in] VARIANT MaxDelay)

void HFramegrabberX.GrabImageStart([in] double MaxDelay)

static void HOperatorSet.GrabImageStart(HTuple acqHandle, HTuple maxDelay)

void HFramegrabber.GrabImageStart(double maxDelay)

Beschreibung

grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart startet den asynchronen Bildeinzug über das durch AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle spezifizierten Bildeinzugsgerät. Der gewünschte Betriebsmodus des Bildeinzugsgeräts sowie ein passender Bildausschnitt kann mittels open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber eingestellt werden. Weitere Schnittstellen-spezifische Einstellungen können gegebenenfalls mit set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam vorgenommen werden.

Der Abschluss des Bildeinzuges erfolgt dann mittels grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync bzw. grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync. Der Parameter MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay ist obsolet und hat keinen Einfluss auf das neue eingezogene Bild. Um festzustellen, ob ein eingezogenes Bild zu alt ist, kann dagegen der Parameter MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay des Operators grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync bzw. grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync verwendet werden.

Beachten Sie, dass der Operator grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart nur in Verbindung mit grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync oder grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync sinnvoll ist. Falls stattdessen grab_imagegrab_imageGrabImagegrab_imageGrabImageGrabImage oder grab_datagrab_dataGrabDatagrab_dataGrabDataGrabData aufgerufen werden, wird der mit grab_image_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart begonnene asynchrone Bildeinzug abgebrochen und ein neuer, synchroner Bildeinzug gestartet.

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.

Achtung

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_startgrab_image_startGrabImageStartgrab_image_startGrabImageStartGrabImageStart läuft mit allen nicht exklusiven Operatoren innerhalb und außerhalb der Gruppe parallel.

Parallelisierung

Parameter

AcqHandleAcqHandleAcqHandleAcqHandleAcqHandleacqHandle (input_control)  framegrabber HFramegrabber, HTupleHTupleHFramegrabber, HTupleHFramegrabberX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Zu benutzendes Bildeinzugsgerät.

MaxDelayMaxDelayMaxDelayMaxDelayMaxDelaymaxDelay (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Dieser Parameter ist obsolet und hat keinen Einfluss auf das neue eingezogene Bild.

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)
* Start asynchronous grabbing.
grab_image_start(AcqHandle, -1)
* Run acquisition loop.
while (true)
    * Get image, start next grab.
    grab_image_async(Image, AcqHandle, -1.0)
    * Next: Do something with the grabbed image.
endwhile
close_framegrabber(AcqHandle)

Beispiel (C)

/* 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) ;
/* Start asynchronous grabbing. */
grab_image_start(AcqHandle, -1) ;
/* Run acquisition loop. */
while (1) {
    /* Get image, start next grab. */
    grab_image_async(&Image, AcqHandle, -1.0) ;
    /* Next: Do something with the grabbed image. */
}
close_framegrabber(AcqHandle) ;

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)
* Start asynchronous grabbing.
grab_image_start(AcqHandle, -1)
* Run acquisition loop.
while (true)
    * Get image, start next grab.
    grab_image_async(Image, AcqHandle, -1.0)
    * Next: Do something with the grabbed image.
endwhile
close_framegrabber(AcqHandle)

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)
* Start asynchronous grabbing.
grab_image_start(AcqHandle, -1)
* Run acquisition loop.
while (true)
    * Get image, start next grab.
    grab_image_async(Image, AcqHandle, -1.0)
    * Next: Do something with the grabbed image.
endwhile
close_framegrabber(AcqHandle)

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)
* Start asynchronous grabbing.
grab_image_start(AcqHandle, -1)
* Run acquisition loop.
while (true)
    * Get image, start next grab.
    grab_image_async(Image, AcqHandle, -1.0)
    * Next: Do something with the grabbed image.
endwhile
close_framegrabber(AcqHandle)

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)
* Start asynchronous grabbing.
grab_image_start(AcqHandle, -1)
* Run acquisition loop.
while (true)
    * Get image, start next grab.
    grab_image_async(Image, AcqHandle, -1.0)
    * Next: Do something with the grabbed image.
endwhile
close_framegrabber(AcqHandle)

Ergebnis

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

Vorgänger

open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam

Nachfolger

grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync, grab_data_asyncgrab_data_asyncGrabDataAsyncgrab_data_asyncGrabDataAsyncGrabDataAsync, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam, close_framegrabberclose_framegrabberCloseFramegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber

Siehe auch

open_framegrabberopen_framegrabberOpenFramegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, info_framegrabberinfo_framegrabberInfoFramegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren