因操作图像处理之前,需要对图像进行采集。采集图像,我们首先要确定的是图像的像素和采集的效率。这些都需要对设备进行配置与操作。现实情况是图像设备有各自不同的采集方式,配置也各不相同。这就需要设备提供商提供对应的开发工具包。这些工具包可能会遵循一定的标准。因此,在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. MYSQL之概念基础篇

    1数据库概述 1.1 数据管理技术的产生和发展 数据库技术是应数据库管理任务的需要而产生的.20世纪50年代中期以前,计算机主要是用于科学计算.当时的硬件状况是,外存只有纸带.卡片.磁带,没有磁盘等可 ...

  2. 深入理解JVM内存分配策略

    理解JVM内存分配策略 三大原则+担保机制 JVM分配内存机制有三大原则和担保机制 具体如下所示: 优先分配到eden区 大对象,直接进入到老年代 长期存活的对象分配到老年代 空间分配担保 对象优先在 ...

  3. Tcloud 云测平台-使用介绍

    Tcloud使用介绍 前端github地址:https://github.com/bigbaser/Tcloud后端github地址:https://github.com/bigbaser/Tclou ...

  4. Hadoop 之 HDFS基本概念

    1.HDFS的基本概念 答:块(Block).NameNode.DataNode.HDFS的文件被分成块进行存储,默认块的大小为64M,所以说块是文件存储和处理的逻辑单元.NameNode是管理节点, ...

  5. Mysql学习笔记整理之引擎

    mysql的引擎: myisam引擎 Mysql 5.5之前默认的存储引擎 数据.索引分别存储 (数据物理磁盘---索引物理磁盘) .MYD 存储数据                      表级索 ...

  6. PHPSTORM 2019 激活

    1.获取激活码 请自行百度 2.输入激活码 ​ 3.配置本地hosts 添加配置如下​ 0.0.0.0 account.jetbrains.com 0.0.0.0 www.jetbrains.com

  7. 读《深入理解Elasticsearch》点滴-基础概念

    Lucene的概念 document:以json的形式体现,搜索和搜索的主要载体 field:document的一个部分 term(词项):代表文本中的一个词 token(词条):term在field ...

  8. redis常用操作-键的生存时间

    System.out.println("设置 key001的过期时间为5秒:"+jedis.expire("key001", 5)); System.out.p ...

  9. 12.Django基础十之Form和ModelForm组件

    一 Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户 ...

  10. Redis系列---操作命令及数据类型

    本章将简单介绍下,Redis里面常用的数据类型以及我们常用到的一些命令,let's go 准备环境: Redis  详细见上一个章节 我们接下来操作的命令用的是Redis自带的客户端工具,在安装red ...