名称
grab_image_start - 从指定的图像采集设备启动异步采集。
用法
grab_image_start( : : AcqHandle, MaxDelay : )
描述
算子grab_image_start通过AcqHandle指定的图像采集设备启动图像的异步采集。 可以使用算子open_framegrabber和set_framegrabber_param来指定图像采集设备所需的操作模式以及合适的图像部分和其他特定于接口的设置。
采集通过grab_image_async或grab_data_async完成。 MaxDelay参数已过时,不会影响新的异步抓取。 请注意,您可以分别使用算子grab_image_async或grab_data_async的MaxDelay参数来检查过时的图像。
请注意,算子grab_image_start只有在与grab_image_async或grab_data_async一起使用时才有意义。 如果您调用算子grab_image或grab_data,则由grab_image_start启动的异步采集将中止,并启动新的同步采集。
为了中止采集,如果特定的图像采集接口支持,可以使用带有参数“do_abort_grab”的算子set_framegrabber_param。 请注意,作为多线程中并发使用的描述的异常(见下文),“do_abort_grab”也可以从另一个线程中使用。
注意
对于多线程应用程序,所有图像采集算子 (如open_framegrabber中列出的)都是自己的组,其中info_framegrabber,open_framegrabber,close_framegrabber和close_all_framegrabbers是独占执行的。
grab_image_start与该组内外的所有非独占算子并行运行。
并行
● 多线程类型:可重入(与非独占算子并行运行)。
● 多线程范围:全局(可以从任何线程调用)。
● 不并行化处理。
参数
AcqHandle (input_control) framegrabber → (integer)
要使用的采集设备的句柄。
MaxDelay (input_control) number → (real)
这个参数已经过时,并没有效果。
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(Image1,AcqHandle) * Start next grab grab_image_start(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_start返回值2(H_MSG_TRUE)。 否则会引发异常。
Possible Predecessors
open_framegrabber, set_framegrabber_param
Possible Successors
grab_image_async, grab_data_async, set_framegrabber_param, close_framegrabber
See also
open_framegrabber, info_framegrabber, set_framegrabber_param
模块
Foundation