HALCON Reference Manual 10.0.2
Table of Contents / Image / Acquisition ClassesClassesClasses | | | Operators

grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync (Operator)

Name

grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync — Grab an image from the specified image acquisition device and start the next asynchronous grab.

Signature

grab_image_async( : Image : AcqHandle, MaxDelay : )

Herror grab_image_async(Hobject* Image, const Hlong AcqHandle, double MaxDelay)

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

Herror grab_image_async(Hobject* Image, const HTuple& AcqHandle, const HTuple& MaxDelay)

HImage HImage::GrabImageAsync(const HFramegrabber& AcqHandle, const HTuple& MaxDelay)

HImage HFramegrabber::GrabImageAsync(const HTuple& MaxDelay) const

void HOperatorSetX.GrabImageAsync(
[out] IHUntypedObjectX*Image, [in] VARIANT AcqHandle, [in] VARIANT MaxDelay)

void HImageX.GrabImageAsync(
[in] IHFramegrabberX* AcqHandle, [in] double MaxDelay)

IHImageX* HFramegrabberX.GrabImageAsync([in] double MaxDelay)

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

void HImage.GrabImageAsync(HFramegrabber acqHandle, double maxDelay)

HImage HFramegrabber.GrabImageAsync(double maxDelay)

Description

The operator grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync grabs an image via the image acquisition device by AcqHandleAcqHandleAcqHandleAcqHandleacqHandle and starts the asynchronous grab of the next image. The desired operational mode of the image acquisition device as well as a suitable image part can be adjusted via the operator open_framegrabberopen_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber. Additional interface-specific settings can be specified via set_framegrabber_paramset_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam.

The grab of the next image is finished by calling grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync or grab_data_asyncgrab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsync. If more than MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay ms have passed since the asynchronous grab was started, the asynchronously grabbed image is considered as too old and a new image is grabbed. If a negative value is assigned to MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay this control mechanism is deactivated.

Please note that if you call the operators grab_imagegrab_imagegrab_imageGrabImageGrabImage or grab_datagrab_datagrab_dataGrabDataGrabData after grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync, the asynchronous grab started by grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync is aborted and a new image is grabbed (and waited for).

Parallelization

Parameters

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

Grabbed image.

AcqHandleAcqHandleAcqHandleAcqHandleacqHandle (input_control)  framegrabber HFramegrabber, HTupleHFramegrabber, HTupleHFramegrabberX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Handle of the acquisition device to be used.

MaxDelayMaxDelayMaxDelayMaxDelaymaxDelay (input_control)  number HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms].

Default value: -1.0

Suggested values: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9

Example (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 + 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)

Example (C)

/* 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 + 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) ;

Example (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 + 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)

Example (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 + 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)

Example (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 + 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)

Result

If the image acquisition device is open and supports asynchronous grabbing the operator grab_image_startgrab_image_startgrab_image_startGrabImageStartGrabImageStart returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Possible Predecessors

grab_image_startgrab_image_startgrab_image_startGrabImageStartGrabImageStart, open_framegrabberopen_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, set_framegrabber_paramset_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam

Possible Successors

grab_image_asyncgrab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsync, grab_data_asyncgrab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsync, set_framegrabber_paramset_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam, close_framegrabberclose_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabber

See also

grab_image_startgrab_image_startgrab_image_startGrabImageStartGrabImageStart, open_framegrabberopen_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabber, info_framegrabberinfo_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabber, set_framegrabber_paramset_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParam

Module

Foundation


Table of Contents / Image / Acquisition ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH