halcon算子翻译——grab_data_async

名称

grab_data_async - 从指定的图像采集设备异步抓取图像和预处理的图像数据。

用法

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

描述

  算子grab_data_async通过由AcqHandle指定的图像采集设备抓取图像和预处理的图像数据,并且如果操作模式需要,开始异步抓取下一个图像或预处理的图像数据。 有关特定图像采集设备的操作模式的更多信息可以在目录“doc / html / reference / acquisition”的相应接口文档中找到。 可以使用算子open_framegrabber和set_framegrabber_param来指定图像采集设备所需的操作模式以及合适的图像部分和其他特定于接口的设置。 根据图像采集设备的当前配置,可以根据图像(Image),区域(Region),XLD轮廓(Contours)和控制数据(Data)返回预处理的图像数据。

  下一个图像的抓取通过调用grab_data_async或者grab_image_async完成。 如果自从异步抓取开始以来超过MaxDelay ms,那么异步抓取的图像将被视为过时,并在必要时抓取新图像。 如果给MaxDelay分配一个负值,该控制机制将被禁用。

  为了中止抓取,如果特定的图像采集接口支持,可以使用带有参数“do_abort_grab”的算子set_framegrabber_param。 请注意,作为多线程中并发使用的描述的异常(见下文),“do_abort_grab”也可以从另一个线程中使用。

  请注意,如果在grab_data_async之后调用算子grab_image或grab_data,那么由grab_data_async启动的异步抓取将中止,并启动新的同步抓取。

注意

  对于多线程应用程序,所有图像采集算子(如open_framegrabber中列出的)都是自己的组,其中info_framegrabber,open_framegrabber,close_framegrabber和close_all_framegrabbers是独占执行的。

  grab_data_async与该组内外的所有非独占算子并行运行。

并行

●  多线程类型:可重入(与非独占算子并行运行)。
●  多线程范围:全局(可以从任何线程调用)。
●  不并行化处理。

参数

Image (output_object)   image(-array) → object (byte / real / uint2)
  采集的图像数据。


Region (output_object)    region(-array) → object
  预处理的图像区域。


Contours (output_object)    xld_cont(-array) → object
  预处理的XLD轮廓。


AcqHandle (input_control)    framegrabber → (integer)
  要使用的采集设备的句柄。


MaxDelay (input_control)    number → (real)
  异步抓取开始和图像传送之间的最大容许延迟[ms]。
  Default value: -1.0
  Suggested values: -1.0, 20.0, 33.3, 40.0, 66.6, 80.0, 99.9


Data (output_control)    string(-array) → (string / real / integer)
  预处理的控制数据。

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, 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)

结果

如果图像采集设备已打开,并且支持通过grab_data_async图像采集,则算子grab_data_async将返回值2(H_MSG_TRUE)。 否则会引发异常。

Possible Predecessors

open_framegrabber, grab_image_start, set_framegrabber_param

Possible Successors

grab_image_async, set_framegrabber_param, close_framegrabber

See also

open_framegrabber, info_framegrabber, set_framegrabber_param

模块

Foundation

HDevelop例程

siliconsoftware_smartapplets.hdev      使用SiliconSoftware接口(SmartApplets)
siliconsoftware_multiroi.hdev          使用SiliconSoftware接口(Visual Applets ROI模块)
siliconsoftware_fieldparameter.hdev         使用SiliconSoftware接口(Visual Applets字段参数)
sick-3dcamera_components.hdev       使用SICK-3DCamera接口(不同的参数组)
sick-3dcamera_buffer_queue.hdev          使用SICK-3DCamera接口(使用内部缓冲队列)

原文地址:https://www.cnblogs.com/xhiong/p/grab_data_async.html