0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何连接到不同配置的图像采集卡和相机

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-04-23 09:47 次阅读
连接到图像采集卡

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘false’, CameraType, myBoard, -1, -1, AcqHandle)

使用操作符 open_framegrabber 打开与图像采集设备的连接时,主要参数是相应 HALCON 采集接口的名称。因此,您将获得一个所谓的句柄 (AcqHandle),通过它您可以访问图像采集设备,例如,在调用操作者grab_image 时。

图 2.1:a) 获取的图像;b) 处理过的图像(自动分割)

在示例中,大多数其他参数使用默认值(‘default’ 或 -1)

第 2 步:抓取图像

grab_image (Image, AcqHandle)

成功连接到您的图像采集设备后,您可以通过调用带有相应句柄 AcqHandle 的操作符grab_image 来抓取图像。

第 3 步:循环抓取和处理图像

while (Button != 1)

grab_image (Image, AcqHandle)

dev_set_window (WindowHandle)

dev_display (Image)

* -》 process image (segment with an automatically determined threshold)

auto_threshold (Image, Regions, 4)

connection (Regions, ConnectedRegions)

dev_set_window (WindowHandleProcess)

dev_display (ConnectedRegions)

* -》 check for a click into the window (error handling switched off, otherwise the cursor must always be in the window)

dev_set_check (‘~give_error’)

get_mposition (WindowHandleButton, Row, Column, Button)

dev_set_check (‘give_error’)

endwhile

在示例中,然后使用运算符 auto_threshold 自动分割抓取的图像(见图 2.1)。这是在循环中完成的,可以通过用鼠标左键单击窗口来退出。

3、连接到您的图像采集设备

在本节中,我们将展示如何连接到不同配置的图像采集卡和相机,从一个相机连接到一个图像采集卡的简单情况到更复杂的情况,例如多个同步相机连接到 一块或多块板。

3.1 打开指定配置的连接

用操作符 open_framegrabber,您可以打开与图像采集设备的连接。这种连接由四个参数描述(见图 3.1):首先,您选择一个带有参数 Name 的采集接口。参数 Device 指定实际的板卡或相机;根据采集接口,该参数可以包含描述板的字符串或简单的数字(以字符串的形式!)。通常,相机可以连接到不同端口的图像采集卡,其数量可以通过参数 Port(在极少数情况下为 LineIn)来选择。参数 CameraType 描述了连接的摄像头:对于模拟摄像头,该参数通常指定使用的信号范数,例如,‘ntsc’。对于数码相机,此参数通常指定相机型号;更复杂的采集接口使用此参数来选择相机配置文件。

因此,open_framegrabber 在参数 AcqHandle 中返回打开连接的句柄。请注意,如果您使用 HALCON 的 COM 或 C++ 接口并通过相应的类调用操作符,例如 C++ 中的 HFramegrabber,则不会返回句柄,因为类的实例本身充当您的句柄。

使用 HDevelop 的图像采集助手,您可以轻松连接到您的图像采集设备并选择合适的参数

3.2 连接多个板卡和摄像头

大多数 HALCON 采集接口允许使用多个图像采集卡和相机。但是,连接摄像机和电路板以及从 HALCON 内部访问这些配置的方法不止一种。下面,我们描述不同的配置;请检查您的图像采集设备的 HALCON 接口的在线文档(请参阅 %HALCONROOT%dochtmlmanuals、Windows 开始菜单中的 HALCON 文件夹,或 http://www.halcon.com/image-acquisition) 它支持哪些配置。

3.2.1 单摄像头

图 3.2a 显示了最简单的配置:单个摄像头连接到单个板上,可通过单个手柄访问。一些图像采集卡,尤其是数字图像采集卡,只支持这种配置;如以下部分所述,您仍然可以通过将每个摄像头连接到单独的电路板来使用具有此类图像采集卡的多个摄像头。请注意,此配置是通过 USB 2.0、IEEE 1394 或 GigE 连接的数码相机的典型配置。

3.2.2 Multiple Boards

图 3.2b 显示了具有多个摄像头的配置,每个摄像头都连接到单独的电路板。在这种情况下,您在 HDevelop 示例程序 solution_guideimage_acquisitionmultiple_boards.hdev 中为每个连接调用一次操作符 open_framegrabber。

图 3.2:a) 单板单摄像头;b) 多块板,每块带一个摄像头;c) 带有一个或多个摄像头的多块板;d) 单板多摄像头和端口切换;e) 单板多摄像头同时抓取;f) 使用多个电路板和相机同时抓取

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘default’, ‘default’, Board0, -1, -1, AcqHandle0)

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘default’, ‘default’, Board1, -1, -1, AcqHandle1)

在此示例中,两个调用仅在参数 Device(“0”和“1”)的值上有所不同;当然,您也可以为其他参数使用不同的值,甚至可以连接到不同的图像采集接口。

要从两个摄像头抓取图像,您只需使用两次调用 open_framegrabber 返回的两个句柄调用一次操作符grab_image:

grab_image (Image0, AcqHandle0)

grab_image (Image1, AcqHandle1)

3.2.3 每块板有多个手柄

许多图像采集卡提供多个输入端口,因此允许将多个摄像头连接到板上。根据 HALCON 采集接口的不同,可以通过本节和以下各节中描述的不同方式访问此配置。

连接相机的标准HALCON方法如图3.2c所示:每个连接都有自己的句柄,即open_framegrabber为每个相机调用一次,参数Port的值不同,如HDevelop示例程序solution_guideimage_acquisition multiple_ports.hdev:

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1,

‘default’, ‘default’, Board0, Port0, -1, AcqHandle0)

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1,

‘default’, ‘default’, Board1, Port1, -1, AcqHandle1)

grab_image (Image0, AcqHandle0) grab_image (Image1, AcqHandle1)

如图 3.2c 所示,您还可以使用多个板卡连接多个摄像头

3.2.4 端口交换

一些图像采集接口不通过多个手柄访问相机,而是通过动态切换输入端口(见图 3.2d)。因此,open_framegrabber 只被调用一次,就像在 HDevelop 示例程序 solution_guideimage_acquisitionport_switching.hdev 中一样:

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘default’, ‘default’, ‘default’, 0, -1, AcqHandle)

在抓取图像之间,您使用运算符 set_framegrabber_param 切换端口

set_framegrabber_param (AcqHandle, ‘port’, Port0)

dev_set_window (WindowHandle0)

grab_image (Image0, AcqHandle)

set_framegrabber_param (AcqHandle, ‘port’, Port1)

dev_set_window (WindowHandle1)

grab_image (Image1, AcqHandle)

注意,端口切换仅适用于兼容(类似)相机,因为 open_framegrabber 仅被调用一次,即所有相机使用相同的参数值集。相比之下,当如上所述使用多个手柄时,您可以为各个相机指定不同的参数值(有一些特定于板的限制)。

3.2.5 同时抓取(仅针对特定接口)

在上述配置中,图像是通过多次调用操作者grab_image从单个相机中抓取的。相比之下,一些采集接口允许通过一次调用grab_image从多个摄像头抓取图像,然后返回多通道图像(参见图3.2e;第51页的附录A.1包含有关多通道图像的更多信息) 。 这种模式称为同时抓取(或并行抓取);与端口切换一样,它仅适用于兼容(类似)的相机。例如,您可以使用此模式从立体相机系统中抓取同步图像。请注意,同时抓取仅适用于极少数图像采集接口。

在这种模式下,open_framegrabber 只被调用一次,可以在 HDevelop 示例程序 solution_guideimage_acquisitionsimultaneous_grabbing.hdev 中看到:

open_framegrabber (AcqName, 1, 1, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘default’, ‘default’, ‘default’, 0, -1, AcqHandle)

您可以使用运算符 count_channels 检查返回图像(通道)的数量

grab_image (SimulImages, AcqHandle)

count_channels (SimulImages, num_channels)

并根据图像数量提取单个图像,例如使用分解2、分解3等:

if (num_channels == 2)

decompose2 (SimulImages, Image0, Image1)

或者,您可以使用 image_to_channels 将多通道图像转换为图像数组,然后通过 select_obj 选择单个图像。

3.3 请求有关图像采集接口的信息

如前所述,各个 HALCON 采集接口在 HTML 页面上有详细描述,这些页面可以在目录 %HALCONROOT%dochtmlmanuals 或 Windows 开始菜单的 HALCON 文件夹中找到(如果您安装了文档)。另一种访问图像采集接口信息的方法是使用操作符 info_framegrabber。

在HDevelop示例程序solution_guideimage_acquisitioninfo_framegrabber.hdev(为HALCON 1394IIDC接口预配置,请根据自己的图像采集设备调整接口名称)多次调用该算子查询接口版本号、可用设备 ,端口号,相机类型,以及open_framegrabber所有参数的默认值;结果,即 HDevelop 变量窗口中显示的值,如图 3.3 所示。

info_framegrabber (AcqName, ‘general’, GeneralInfo, GeneralValue)

info_framegrabber (AcqName, ‘revision’, RevisionInfo, RevisionValue) info_framegrabber (AcqName, ‘info_boards’, BoardsInfo, BoardsValue) info_framegrabber (AcqName, ‘generic’, GenericInfo, GenericValue)

info_framegrabber (AcqName, ‘camera_type’, CamTypeInfo, CamTypeValue) info_framegrabber (AcqName, ‘defaults’, DefaultsInfo, DefaultsValue)

在使用 open_framegrabber 实际连接到图像采集设备之前,可以调用操作符 info_framegrabber。唯一的条件是已经安装了HALCON采集接口和设备驱动和SDK。

原文标题:3、连接到您的图像采集设备

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像机
    +关注

    关注

    3

    文章

    1577

    浏览量

    59924
  • 摄像头
    +关注

    关注

    59

    文章

    4797

    浏览量

    95344

原文标题:3、连接到您的图像采集设备

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    剖析机器视觉图像采集卡的功能与应用

    机器视觉技术是目前工业生产检测、医疗检测等领域为实现自动化、智能化而采取的应用。整个机器视觉系统分为图像采集图像处理两大板块,采用模拟工业相机
    的头像 发表于 06-19 09:08 3749次阅读

    图像采集卡相机内置的采集有什么不同之处?

    图像采集卡相机内置的采集能力有以下不同之处:图像采集卡需要安装在计算机中,而
    的头像 发表于 06-07 09:25 947次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>与<b class='flag-5'>相机</b>内置的<b class='flag-5'>采集</b>有什么不同之处?

    如何选择图像采集卡

    图像采集卡是一种用于将模拟信号转换为数字信号,并将其传输到计算机中的设备。它在许多领域中被广泛应用,如医学影像、工业检测、安防监控等。选择适合自己需求的图像采集卡是至关重要的,下面将介
    的头像 发表于 06-27 14:53 952次阅读
    如何选择<b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>

    USB图像采集卡是什么

    USB图像采集卡是一种用于连接计算机和摄像机、摄像头或其他视频设备的设备。它充当了一个接口,使得视频信号可以通过USB接口传输到计算机,并且可以进行图像
    的头像 发表于 07-26 16:35 1392次阅读
    USB<b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>是什么

    图像采集卡在应用程序的重要性概述

    达到最大吞吐量是工业和工厂自动化的关键标准之一。提高传感器分辨率和帧速率有助于实现目标,但会限制带宽,并带来新的传输问题。图像采集卡是将相机连接到PC的最方便、最可靠的方式,在工业环境
    的头像 发表于 09-26 15:07 1219次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>在应用程序的重要性概述

    PCIe图像采集卡的原理、应用和优势

    PCIExpress(PCIe)总线与计算机主机连接,提供高速、高带宽的数据传输能力,适用于需要快速、准确采集和处理图像的应用领域。PCIe图像采集
    的头像 发表于 10-20 15:07 1414次阅读
    PCIe<b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>的原理、应用和优势

    外置式图像采集卡-最便捷的选择

    传统的一直是嵌入工控机PCIe图像采集卡,但是对于有些要求轻便的应用,比如工程师想通过笔记本调试CameraLink相机,或者FAE想去到客户现场展示相机等场景,如果还是采用PCIe
    发表于 03-01 16:04 1次下载

    PCIe图像采集卡的原理、应用和优势

    PCIe图像采集卡的原理、应用和优势  PCIe图像采集卡是一种用于获取和处理图像信号的硬件设备。它通过PCI Express接口与计算机主
    的头像 发表于 12-15 09:57 879次阅读

    图像采集卡与千兆的区别

    是一种专门用于接收和处理图像信号的设备。它一般通过接口将摄像机、监控设备等图像连接到计算机上,实现图像采集、存储、处理和传输等功能。
    的头像 发表于 12-15 09:57 1377次阅读

    图像采集卡的选择技巧

    在当今科技发达的时代,图像采集卡在各行各业中被广泛使用,从医疗领域到工业领域,从娱乐领域到安防领域。选择一款适合自己需求的图像采集卡显得尤为重要。本文将介绍一些选择合适
    的头像 发表于 05-28 18:09 402次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>的选择技巧

    选择合适的图像采集卡的四个标准

    即使在今天,图像采集卡仍然能够让应用程序为相机实现最高速度和分辨率,图像采集卡是将相机
    的头像 发表于 06-17 18:09 257次阅读
    选择合适的<b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>的四个标准

    工业相机该选择哪种图像采集卡

    在选择与工业相机匹配的图像采集卡时,需要考虑多个因素,包括相机的分辨率、接口类型、传输速度以及采集卡的兼容性、稳定性、性能等,具体选择需要根
    的头像 发表于 08-20 15:49 273次阅读
    工业<b class='flag-5'>相机</b>该选择哪种<b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>?

    图像采集卡:增强视觉数据采集

    。什么是图像采集卡图像采集卡,是一种专门用于捕获和处理来自不同来源的视频信号或图像的硬件组件。它们充当成像设备(例如
    的头像 发表于 09-24 11:06 252次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>:增强视觉数据<b class='flag-5'>采集</b>

    图像采集卡不断发展和改进,为视觉系统提供更大的价值

    图像采集卡最初是为了从模拟机器视觉相机中获取原始图像而开发的,人们曾一度预计该技术将被直接连接到电脑的技术所取代。然而,经验却并非如此。
    的头像 发表于 09-30 11:10 169次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>不断发展和改进,为视觉系统提供更大的价值

    什么是 PCI-E 图像采集卡

    PCI-E图像采集卡是将模拟图像信号转换为数字信号并传输到计算机的设备,通过PCIExpress(PCIe)总线与计算机主机连接,提供高速、高带宽的数据传输能力,适用于需要快速、精确的
    的头像 发表于 11-01 15:47 146次阅读
    什么是 PCI-E <b class='flag-5'>图像</b><b class='flag-5'>采集卡</b>?