用于 DirectShow 文件阅读器的图像采集接口

接口: DirectFile
修订: 18.11.5
日期: 2021-10-20

一般情况

本页提供有关 Microsoft DirectShow 文件阅读器应用程序编程接口的 HALCON DirectFile 接口的文档。注册 客户可从 MVTec WWW 服务器下载该接口的最新版本。

系统要求

接口版本控制

用于数字输入/输出和图像采集的 MVTec 接口始终与一系列 HALCON 版本兼容。因此,版本控制方案既说明了接口的兼容性,也说明了接口本身的版本。接口版本总是由三个数字组成,中间用点隔开,即 18.11.5。前两个数字描述了接口兼容的最小 HALCON 版本。以 18.11.5 版本为例,这意味着接口兼容 HALCON 18.11 之后的所有 HALCON 版本。最后一个数字说明接口的修订版本,在本例中为修订版本 5。

安装

只有在手动安装或更新接口时,才能按照这些步骤操作:

局限性

一般来说,能否使用 HALCON DirectFile 接口打开文件主要取决于应用程序所运行系统的配置。通常情况下,需要安装合适的编解码器。根据经验,如果可以使用 GraphEdit 重放文件,则很有可能也可以使用 HALCON DirectFile 接口打开文件。在 64 位操作系统上,HALCON 架构(32 或 64 位)必须与编解码器的架构相匹配。有关系统中编解码器的详细信息,请参阅 Windows Media Player 关于对话框的技术支持信息。

info_framegrabber 的参数

参数 值列表 类型 方式 描述
'bits_per_channel' [] 未使用。
'camera_type' 'CAMFILE:' 字符串 预定义 相机配置文件的语法。
'color_space' ['gray', 'rgb'] 字符串 预定义 值。
'defaults' [1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1.0, 'false', 'default', '0', -1, 1] 混合型 预定义 open_framegrabber 的默认值。
'device' [] 未使用。
'external_trigger' [] 未使用。
'field' [] 未使用。
'general' [] 字符串 预定义 有关 HALCON DirectFile 接口的信息。
'generic' [] 不支持查询。
'horizontal_resolution' 1 整数 预定义 水平分辨率的值列表。
'image_height' [] 不支持查询。
'image_width' [] 不支持查询。
'info_boards' 'filter:<filter> | merit:<merit> | file:<file> | type:<type> | subtype:<subtype>' 字符串 动态 有关已安装 DirectShow 过滤器的信息:
  • filter过滤器 是该 DirectShow 过滤器的名称。
  • merit优点 是一个值,用于定义在构建捕获筛选图时优先使用哪些筛选器。标准值 以其名称表示。
  • file文件 文件是包含该过滤器的 DLL。
  • type类型subtype子类型 列出了该过滤器所有输入引脚的 介质类型 。已知介质类型按名称显示,其他类型按 GUID 显示。
'parameters' ['<parameters>'] 字符串 预定义 HALCON 接口的预定义参数。
'parameters_readonly' ['<parameters>'] 字符串 预定义 HALCON 接口的预定义只读参数。
'parameters_writeonly' ['<parameters>'] 字符串 预定义 HALCON 接口的预定义只写参数。
'port' [] 未使用。
'revision' '<revision>' 字符串 预定义 DirectFile 接口的版本号。
'start_column' [] 不支持查询。
'start_row' [] 不支持查询。
'vertical_resolution' 1 整数 预定义 垂直分辨率的值列表。

open_framegrabber 的参数

参数 默认值 类型 描述
Name 'DirectFile' 字符串 HALCON 接口的名称。
HorizontalResolution --- 忽略。
VerticalResolution --- 忽略。
ImageWidth --- 忽略。
ImageHeight --- 忽略。
StartRow --- 忽略。
StartColumn --- 忽略。
Field --- 忽略。
BitsPerChannel --- 忽略。
ColorSpace 'gray', 'rgb' 'rgb' 字符串 所需的,也就是生成的 HALCON 图像的图像通道数。
Generic --- 忽略。
ExternalTrigger --- 忽略。
CameraType '<filename>' 'default' 字符串 相机类型参数用于指定要打开的视频文件的名称。视频文件的名称可以是绝对名称(例如 "C:\MyImages\MyAVIFile.avi"),也可以是与环境设置 %HALCONIMAGES% 相对的名称。
Device --- 忽略。
Port --- 忽略。
LineIn --- 忽略。

set_framegrabber_param 的参数

参数 默认值 类型 描述
'frame_number' <number> 整数 通过 grab_imagegrab_image_async 抓取的下一帧的编号。
'grab_timeout' <milliseconds> 5000 整数 终止待处理抓取的预期超时(毫秒)。如果指定-1,则超时设置为无限。

get_framegrabber_param 的参数

可能还存在以下后缀的其他只读参数:

在调用 info_framegrabber(.., 'parameters', ..) 时,所有这些后置固定参数名都不会返回,而是用于通过通用图形用户界面,特别是 HDevelop 图像采集助手,方便地进行参数设置。

参数 默认值 类型 方式 描述
'bits_per_channel' <default> -1 整数 预定义 该值不会被使用,因此会返回默认值。
'camera_type' '<filename>' 'default' 字符串 预定义 相机配置文件的名称。
'color_space' 'gray', 'rgb' 'rgb' 字符串 预定义 所需的,也就是生成的 HALCON 图像的图像通道数。
'device' <default> '0' 整数 动态 该值不会被使用,因此会返回默认值。
'external_trigger' <default> 'false' 字符串 预定义 该值不会被使用,因此会返回默认值。
'field' '<default>' 'default' 字符串 预定义 该值不会被使用,因此会返回默认值。
'filter_graph' 'filter:<filter> | merit:<merit> | file:<file> | type:<type> | subtype:<subtype>' 字符串 动态 有关已连接 DirectShow 过滤器的信息:
  • filter过滤器 是该 DirectShow 过滤器的名称。
  • merit优点 是一个值,用于定义在构建捕获筛选图时优先使用哪些筛选器。标准值 以其名称表示。
  • file文件 文件是包含该过滤器的 DLL。
  • type类型subtype子类型 列出了该过滤器所有输入引脚的 介质类型 。已知介质类型按名称显示,其他类型按 GUID 显示。
'first_frame' <number> 整数 动态 视频流第一帧的编号。
'frame_number' <number> 整数 动态 Number of the next frame to be grabbed by grab_image or grab_image_async.
'generic' <default> -1 混合型 预定义 该值不会被使用,因此会返回默认值。
'grab_timeout' <milliseconds> 5000 整数 预定义 当前抓取超时(毫秒)。
'horizontal_resolution' <resolution> 1 整数 预定义 水平分辨率的当前值。
'image_height' <default> 0 整数 预定义 该值不会被使用,因此会返回默认值。
'image_width' <default> 0 整数 预定义 该值不会被使用,因此会返回默认值。
'last_frame' <number> 整数 动态 视频流最后一帧的编号。
'line_in' <default> 1 整数 预定义 该值不会被使用,因此会返回默认值。
'media_info' <media_info> 字符串 动态 通过第三方库 MediaInfo 获取的源文件信息(参见 系统要求 )。
'name' 'DirectFile' 字符串 预定义 HALCON 接口的名称。
'port' <default> -1 整数 预定义 该值不会被使用,因此会返回默认值。
'revision' '<revision>' 字符串 预定义 DirectFile 接口的版本号。
'start_column' <column> 0 整数 预定义 返回 HALCON 图像的当前起始列。
'start_row' <row> 0 整数 预定义 返回 HALCON 图像的当前起始行。
'vertical_resolution' <resolution> 1 整数 预定义 垂直分辨率的当前值。

算子 set_framegrabber_lut

此接口不支持。

算子 get_framegrabber_lut

此接口不支持。

算子 set_framegrabber_callback

此接口不支持。

算子 get_framegrabber_callback

此接口不支持。

算子 grab_image_start

开始新的异步抓取。另见 grab_image_start

算子 grab_image

grab_image 启动新的同步抓取。另见 grab_image。请注意,该接口会将来自设备的图像转换为由参数 "image_width"、"image_height"、"start_row"、"start_column"、"bits_per_channel" 和 "color_space" 指定的所需图像格式。

算子 grab_image_async

grab_image_async 返回图像并开始下一次异步抓取。另请参阅 grab_image_async。请注意,该接口会将来自设备的图像转换为由参数 "image_width"、"image_height"、"start_row"、"start_column"、"bits_per_channel" 和 "color_space" 指定的所需图像格式。

算子 grab_data

此接口不支持。

算子 grab_data_async

此接口不支持。

算子 close_framegrabber

此算子关闭设备。另见 close_framegrabber

HDevelop 示例

该接口有以下示例:

第三方库的使用

该接口依赖于以下第三方库。有关版权和许可证信息,参见 HALCON 基本目录中的文件 third_party_directfile.txt

发行说明


关于超链接的免责声明: 用户可通过本页面的超文本链接访问外部非 MVTec 网站。任何此类访问均应理解,非 MVTec 网站的内容不受 MVTec Software GmbH 的控制,MVTec Software GmbH 对此类网站不作任何陈述,用户应自行承担风险。MVTec Software GmbH 不对外部非 MVTec 网站的隐私保护措施或内容负责。
版权说明: © MVTec Software GmbH 版权所有。保留所有权利。除非另有说明,本页面内容的版权和类似权利,包括但不限于此处出现的所有文本、设计和图像,均为 MVTec Software GmbH 所拥有的版权作品。"MVTec Software GmbH" 和 "HALCON" 是 MVTec Software GmbH 的注册商标。此处提及或使用的所有其他品牌名称、设计、服务标志和商标(无论是否注册)均为其各自所有者的财产。