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

    文章

    1421

    浏览量

    58990
  • 摄像头
    +关注

    关注

    59

    文章

    4608

    浏览量

    92897

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

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

收藏 人收藏

    评论

    相关推荐

    图像采集卡

    我想问下,怎样用verilog来编写图像采集卡的输入信号啊,需要了解些什么?
    发表于 10-27 19:35

    模拟采集卡和数字采集卡

    `一个典型的机器视觉系统包括以下五大块:照明、镜头、高速相机图像采集卡、视觉处理器。图像采集卡只是完整的机器视觉系统的一个部件,但是它扮演
    发表于 12-09 11:25

    【求助】怎么用labview实现对cameralink接口相机的控制,我有采集卡的驱动能读取到图像

    现在手里有一个dalsa公司的图像采集卡,型号是X64 Xcelera-CL。用这个采集卡配置的官方的驱动能够控制相机获取并且
    发表于 01-22 14:22

    没有图像采集卡可以学习labview视觉吗

    本人有plc及伺服控制,工业机器人基础,懂c语言。最近想学下机器视觉打算用labview软件包,自己手里有一个工业相机,我看这个软件需要什么图像采集卡,就一台电脑和一个工业相机可以学吗
    发表于 05-11 09:18

    基于labview的图像采集,用NI PCIE-1427的采集卡,cameralink接口

    我用的是NI的PCIE-1427的图像采集卡,cameralink和相机连接。运行的时候报错提示“相机没有任何支持的视频源”,这是不是因为我
    发表于 12-10 17:31

    NI-9474采集卡如何连接到硬件

    `刚接触labview不久,想请问下各位老师NI-9474采集卡采用技术器输出的话连接到硬件上(示波器等)该如何接线呢?输出电压是多少呢?还可以像数字输出一样外加电源吗?`
    发表于 09-14 14:57

    横跨Windows和Linux等平台的高性能图像采集卡PCIe-8604

    `机器视觉应用领域十分广泛,可分为工业、科学研究、军事和民用4大领域。整个机器视觉系统分为图像采集图像处理两大板块,采用模拟工业相机图像
    发表于 03-07 14:21

    基于采用FPGA控制MV-D1024E系列相机图像采集系统设计

    也有厂家提供的采集卡,它接收到CAMERA-LINK的数据,经采集卡简单处理。数据通过PCI总线传输到PC机。但此类基于PCI总线的数据采集方法有一定缺陷,数据只能通过PCI接口连接到
    发表于 07-02 08:11

    【案例分享】机器视觉系统图像采集卡功能解析

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

    如何采用FPGA实现图像采集卡的设计?

    如何采用FPGA实现图像采集卡的设计?
    发表于 04-29 06:45

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

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

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

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

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

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

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

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

    图像采集卡与千兆卡的区别

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