grab_data_asyncT_grab_data_asyncGrabDataAsyncGrabDataAsyncgrab_data_async (算子)

名称

grab_data_asyncT_grab_data_asyncGrabDataAsyncGrabDataAsyncgrab_data_async — 从指定的图像采集设备同步抓取图像和预处理图像数据。

签名

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)

def grab_data_async(acq_handle: HHandle, max_delay: float) -> Tuple[HObject, HObject, HObject, Sequence[HTupleElementType]]

def grab_data_async_s(acq_handle: HHandle, max_delay: float) -> Tuple[HObject, HObject, HObject, HTupleElementType]

描述

算子 grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async requests asynchronously grabbed images and preprocessed image data from the image acquisition device specified by AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle. By default, grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async also starts the next asynchronous grab before the operator returns. More information about the behavior of a specific image acquisition device can be found in the corresponding interface documentation in the directory doc/html/reference/acquisition. The desired operational mode of the image acquisition device as well as a suitable image part and additional interface-specific settings can be specified using the operators open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber and set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param。Depending on the current configuration of the image acquisition device, the preprocessed image data can be returned in terms of images (ImageImageImageImageimageimage), regions (RegionRegionRegionRegionregionregion), XLD contours (ContoursContoursContoursContourscontourscontours), and control data (DataDataDataDatadatadata).

The grab of the next image is finished by calling grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async or grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async。If more than MaxDelayMaxDelayMaxDelayMaxDelaymaxDelaymax_delay 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 necessary. If a negative value is assigned to MaxDelayMaxDelayMaxDelayMaxDelaymaxDelaymax_delay, this control mechanism is deactivated.

To abort the grab, the operator set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param with the parameter 'do_abort_grab' can be used if the specific image acquisition interface supports it. Note that as an exception from the description of the concurrent usage in multiple threads (see below) 'do_abort_grab' can also be used from another thread.

Please note that if you call the operators grab_imagegrab_imageGrabImageGrabImageGrabImagegrab_image or grab_datagrab_dataGrabDataGrabDataGrabDatagrab_data after grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async, the asynchronous grab started by grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async is aborted and a new synchronous grab is started.

注意

For a multithreaded application, info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber, open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, and close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber are executed exclusively.

grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async runs in parallel with all non-exclusive operators inside and outside of this group.

执行信息

参数

ImageImageImageImageimageimage (输出对象)  image(-array) objectHImageHObjectHImageHobject * (byte / real / uint2)

Grabbed image data.

RegionRegionRegionRegionregionregion (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Pre-processed image regions.

ContoursContoursContoursContourscontourscontours (输出对象)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject *

Pre-processed XLD contours.

AcqHandleAcqHandleAcqHandleAcqHandleacqHandleacq_handle (输入控制)  framegrabber HFramegrabber, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the acquisition device to be used.

MaxDelayMaxDelayMaxDelayMaxDelaymaxDelaymax_delay (输入控制)  number HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

默认值: -1.0

建议值: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9

DataDataDataDatadatadata (输出控制)  string(-array) HTupleSequence[HTupleElementType]HTupleHtuple (string / real / integer / handle) (string / double / int / long / HHandle) (HString / double / Hlong / HHandle) (char* / double / Hlong / handle)

Pre-processed control data.

示例(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)

结果

If the image acquisition device is open and supports the image acquisition via grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async, the operator grab_data_asyncgrab_data_asyncGrabDataAsyncGrabDataAsyncGrabDataAsyncgrab_data_async 返回值 2 ( H_MSG_TRUE )。否则将抛出异常。

可能的前趋

open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, grab_image_startgrab_image_startGrabImageStartGrabImageStartGrabImageStartgrab_image_start, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param

可能的后继

grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsyncgrab_image_async, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param, close_framegrabberclose_framegrabberCloseFramegrabberCloseFramegrabberCloseFramegrabberclose_framegrabber

另见

open_framegrabberopen_framegrabberOpenFramegrabberOpenFramegrabberOpenFramegrabberopen_framegrabber, info_framegrabberinfo_framegrabberInfoFramegrabberInfoFramegrabberInfoFramegrabberinfo_framegrabber, set_framegrabber_paramset_framegrabber_paramSetFramegrabberParamSetFramegrabberParamSetFramegrabberParamset_framegrabber_param

模块

基础