因操作图像处理之前,需要对图像进行采集。采集图像,我们首先要确定的是图像的像素和采集的效率。这些都需要对设备进行配置与操作。现实情况是图像设备有各自不同的采集方式,配置也各不相同。这就需要设备提供商提供对应的开发工具包。这些工具包可能会遵循一定的标准。因此,在halcon中应用采集设备,可能需要按照指定的要注重写应用程序。

Halcon提供了超过百种设备的动态库,这些动态库文件对应于windows系统为DLL库文件及Uinx系统为Shared Libraries共享库文件,其图像采集接口覆盖了常用的相机接口,比如:CameraLink,gige,1394,U3等等。Halcon的图像采集接口桥接各个图像采集设备和对应的动态(共享)库,完全独立于使用的图像采集装置,计算机平台和编程语言。换言之,他们满足在同一操作平台下的不同封装,其对应的特点为以下两点:

1:提供标准化接口

2:封装在特定的图像采集设备以及帧接收器,与由设备制造商提供的SDK相互作用。

因此,当我们决定要切换到不同的采集设备,我们所需要的做的是在使用是调用Halcon操作函数并且设置不同的参数值提供相应的驱动程序和SDK,其他的则保持不变。

图像采集的基本任务由两个HALCON函数完成:

1:open_framegrabber:连接图像采集设备并设置常规参数(如端口类型及名称,型号等)

2:grab_image或grab_image_async:抓取图像

如果需要图像采集设备提供附加的功能,例如,修改图像信号模式,或者数字输出频率等,可以通过set_framegrabber_param函数来进行修改,需要注意的是,对应一些图像采集设备,并不是所有的功能都能够正常使用。

Halcon如何连接到设备

有以下几种做法:

1:打开与配置图像采集设备并连接

open_framegrabber 函数帮助我们打开指定的图像设备,通常在连接图像过程中,我们需要对四个参数进行详细的描述:

首先:需要选择正确的采集接口,该参数实际上是指定图像设备对应的接头(Port),该参数是一个字符串的描述形式,当然我们也可以将其设置为数字(字符串形式)。

通常情况下,可以将采集设备连接到图像采集卡不同端口,其数量可以根据端口的数量来选择,通过选择的端口来指定,参数cameraType介绍所连接的相机,对于模拟摄像机,这个参数通常指定使用的信号规范,例如,“NTSC”。对于工业相机,这个参数通常指定型号的相机;更复杂的采集接口,使用这个参数来选择对应相机的配置文件。

open_framegrabber函数对应结果是返回一个设备句柄AcqHandle,我们需要通过这个句柄来打开连接,需要注意的是,如果你使用Halcon的COM或者C++接口函数,并通过相应的类调用操作,例如:HFramegrabber在C++中或者C#中,没有返回的句柄,因为类本身的实例作为返回的句柄。

在实际操作中,可以通过Halcon的采集助手联接到采集设备。只要调节部分参数即可。

Halcon一日一练:图像采集设备的基本参数的更多相关文章

  1. Halcon一日一练:读取文件目录图像的三种方法

    第一种方法: 读了一个单一图像: read_image(Image,'fabrik') 这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的 ...

  2. Halcon一日一练:图像分辨率与像素

    1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...

  3. Halcon一日一练:图像设备介绍

    Halcon在设计之初就提供了完整的图像采集方案,适应了多种图像设备采集图像,以及各种不同环境的采集方案. 通常情况下,图像的采集应该是所有机器视觉项目首要解决的任务,不幸的是,需要解决图像采集的问题 ...

  4. Halcon一日一练:创建三通道图像

    首先理解一个什么是三通道图像: 三通道图像就是彩色图像,我们之前黑白相机或黑白电视机都是彩用的灰阶图像,即单通道图像,一般是2的8次方个灰阶,即256个灰阶.彩色图像采用RGB,红绿蓝三个通道来合成彩 ...

  5. Halcon一日一练:图像、变量实时更新

    某些场合,我们需要刷新图像来识别图像处理过程的差异性,便于调试判断问题和预测.Halcon提供了图像刷新操作,这些操作不会改变程序的最终处理结果. 例程: **实时刷新图像 dev_update_wi ...

  6. Halcon一日一练:CAD类型的相关操作

    大很多场合,需要在视觉程序中导入CAD文档,比如,在3C行业,需要对手机外壳进行CNC加工,或者点胶操作,此时,需要获取产品的各个点的数据.如果将CAD直接导入,就会大的减少编程工作量,同时也能达到很 ...

  7. Halcon一日一练:图像拼接技术2:步骤与例程

    上一篇主要介绍了图像拼接的一些原理和方法,这一篇将主要介绍步骤和例程: 接上一篇: 基于特征的接拼方法,分为四个步骤 1.特征检测:从图像中检测出显著且独特的图像特征,诸如:闭合区域,直线段,边缘,轮 ...

  8. Halcon一日一练:获取程序运行时间

    很多时候,我们需要知道每个函数的运算周期,以提高程序的运行效率.知道运行时间对于图像算法处理很重要 Halcon提供相关的算子,我们先来看代码: **获取图像处理时间 read_image(Image ...

  9. Halcon一日一练:图像分割之阈值分割1

    先了解什么是阈值,度娘告诉我的是:一个领域或一个系统的界限称为阈,其数值称为阈值.在图像中,我们把图像看成一个由像素灰度值组成的数集,那么阈,就是这个图像中,根据目标与背景灰度值的差异,选取的一个合适 ...

随机推荐

  1. ubuntu16.4 环境移植ubuntu到zynqMp_zcu102

    安装petalinux 下载petalinux https://www.xilinx.com/support/download 下载 zcu102 ZCU102 BSP 安装petaLinux 把sh ...

  2. Python--使用四种随机方法(Random)来产生随机价格

    import random # 卖橘子的计算器:写一段代码,提示用户输入橘子的价格,# 然后随机生成购买的斤数(5到10斤之间),最后计算出应该支付的金额! # 第一种# orange_price = ...

  3. react navigation goBack()返回到任意页面(不集成redux) 二

    实现思路: A -- > B (获取A的key值,传至C)-- >C(获取B传来的A页面key值,传至D) -- >D(获取C传来的A页面key值&C页面的key值,传至下一 ...

  4. charles 客户端进程

    本文参考:charles 客户端进程 客户端进程工具/client_process 显示使每个请求的本地客户端进程; 客户端进程工具显示负责进行每个请求的本地客户端进程的名称. 客户端进程通常是您的W ...

  5. asp.net core IdentityServer4 实现 Client credentials(客户端凭证)

    前言 OAuth 2.0默认四种授权模式(GrantType) 授权码模式(authorization_code) 简化模式(implicit) 密码模式(resource owner passwor ...

  6. SSH Config 管理多主机

    使用 一般我们使用ssh连接远程主机的时候,使用命令是: ssh root@ip ssh –i [identity-file] -p [port] user@hostname 但是如果ip地址过多,其 ...

  7. .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布

    .Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...

  8. Spring boot 官网学习笔记 - Spring DevTools 介绍

    想要使用devtools支持,只需使用dependencies将模块依赖关系添加到你的构建中 运行打包的应用程序时,开发人员工具会自动禁用.如果你通过 java -jar或者其他特殊的类加载器进行启动 ...

  9. springmvc(二)

    请求信息转换 异步发送表单数据到JavaBean,并响应JSON文本返回 操作步骤:(1)加入Jackson2或fastjson框架包,springmvc默认支持Jackon2,不需要做任何操作,而f ...

  10. 阿里云服务器CentOS6.9安装Tomcat

    上篇讲了CentOS6.9安装jdk,这篇来讲Tomcat的安装,本来准备使用yum命令安装的,但是通过 yum search tomcat 发现只有tomcat6,所以就在官网下了一个tomcat8 ...