halcon算子翻译——grab_image_async
名称
grab_image_async - 从指定的图像采集设备异步采集一幅图像。
用法
grab_image_async( : Image : AcqHandle, MaxDelay : )
描述
算子grab_image_async通过由AcqHandle指定的图像采集设备采集图像,并且如果操作模式需要的话,开始异步抓取下一个图像。 有关特定图像采集设备的操作模式的更多信息可以在目录“doc / html / reference / acquisition”的相应接口文档中找到。 可以使用算子open_framegrabber和set_framegrabber_param来指定图像采集设备所需的操作模式以及合适的图像部分和其他特定于接口的设置。
采集通过调用grab_image_async或grab_data_async来完成。 如果自从异步抓取开始以来超过MaxDelay ms,那么异步抓取的图像将被视为过时,并在必要时抓取新图像。 如果给MaxDelay分配一个负值,该控制机制将被禁用。
为了中止抓取,如果特定的图像采集接口支持,可以使用带有参数“do_abort_grab”的算子set_framegrabber_param。 请注意,作为多线程中并发使用的描述的异常(见下文),“do_abort_grab”也可以从另一个线程中使用。
请注意,如果在grab_image_async之后调用算子grab_image或grab_data,那么由grab_image_async启动的异步抓取将中止,并启动一个新的同步抓取。
注意
对于多线程应用程序,所有图像采集算子(如open_framegrabber中列出的)都是自己的组,其中info_framegrabber,open_framegrabber,close_framegrabber和close_all_framegrabbers是独占执行的。
grab_image_async与该组内外的所有非独占算子并行运行。
并行
● 多线程类型:可重入(与非独占算子并行运行)。
● 多线程范围:全局(可以从任何线程调用)。
● 不并行化处理。
参数
Image (output_object) image → object (byte / int2)
采集的图像。
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
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)
结果
如果图像采集设备打开并支持异步采集,则算子grab_image_async返回值2(H_MSG_TRUE)。 否则会引发异常。
Possible Predecessors
grab_image_start, open_framegrabber, set_framegrabber_param
Possible Successors
grab_data_async, set_framegrabber_param, close_framegrabber
See also
grab_image_start, open_framegrabber, info_framegrabber, set_framegrabber_param
模块
Foundation