halcon算子翻译——set_framegrabber_callback

名称

set_framegrabber_callback - 为图像采集设备注册一个回调函数。

用法

set_framegrabber_callback( : : AcqHandle, CallbackType, CallbackFunction, UserContext : )

描述

  算子set_framegrabber_callback为AcqHandle指定的图像采集设备注册一个回调函数。 参数CallbackFunction包含指向要注册的函数的指针,而CallbackType则指定回调应该连接的基础API的哪个函数。

CallbackType的建议值为:

'exception':

  图像采集引发了一个错误。

'exposure_end':

  下一张照片的曝光已经完成。

'exposure_start':

  下一张照片的曝光已经开始。

'transfer_end':

  一个新的图像准备好由grab_image_async获取。

  根据底层API的功能,CallbackType可能有其他值。 通过调用带有参数'available_callback_types'的get_framegrabber_param,可以查询特定图像采集设备实际支持的所有回调类型。 有关更多详细信息,请参阅特定图像采集接口的文档。

  一旦回调被注册,每当发生基础事件(例如,曝光已经完成的通知)时,指定的回调函数CallbackFunction将被调用。 如果CallbackFunction设置为NULL,则相应的回调将被取消注册。

回调函数的用法如下:

  Herror HAcqCallback(void * AcqHandle,void * Context,void * UserContext)

在Windows 32位系统上,使用__stdcall命名约定:

  Herror (__stdcall HAcqCallback)(void *AcqHandle, void *Context, void *UserContext)

  回调函数的第一个参数包含传递给AcqHandle的图像采集设备的句柄,第二个参数提供一个指向特定的接口的上下文数据的指针,第三个参数是UserContext中指定的用户特定的指针。

注意

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

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

并行

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

该算子修改以下输入参数的状态:

  AcqHandle

如果没有外部同步,此参数的值可能不会在多个线程之间共享。

参数

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


CallbackType (input_control)    string → (string)
  回调类型
  Default value: 'transfer_end'
  Suggested values: 'exception', 'exposure_end', 'exposure_start', 'transfer_end'


CallbackFunction   (input_control) pointer → (integer)
  要设置的回调函数的指针。


UserContext (input_control)    pointer → (integer)
  用户特定上下文数据的指针。

结果

如果图像采集设备打开并且指定的回调已成功注册,则算子set_framegrabber_callback返回值2(H_MSG_TRUE)。 否则会引发异常。

Possible Predecessors

open_framegrabber, set_framegrabber_param

Possible Successors

grab_image, grab_data, grab_image_start, grab_image_async, grab_data_async, get_framegrabber_param

See also

open_framegrabber, get_framegrabber_callback

模块

Foundation

posted @ 2017-12-21 08:42  水行  阅读(1402)  评论(0编辑  收藏  举报