Halcon一日一练:图像采集设备的基本参数
因操作图像处理之前,需要对图像进行采集。采集图像,我们首先要确定的是图像的像素和采集的效率。这些都需要对设备进行配置与操作。现实情况是图像设备有各自不同的采集方式,配置也各不相同。这就需要设备提供商提供对应的开发工具包。这些工具包可能会遵循一定的标准。因此,在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一日一练:图像采集设备的基本参数的更多相关文章
- Halcon一日一练:读取文件目录图像的三种方法
		
第一种方法: 读了一个单一图像: read_image(Image,'fabrik') 这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的 ...
 - Halcon一日一练:图像分辨率与像素
		
1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...
 - Halcon一日一练:图像设备介绍
		
Halcon在设计之初就提供了完整的图像采集方案,适应了多种图像设备采集图像,以及各种不同环境的采集方案. 通常情况下,图像的采集应该是所有机器视觉项目首要解决的任务,不幸的是,需要解决图像采集的问题 ...
 - Halcon一日一练:创建三通道图像
		
首先理解一个什么是三通道图像: 三通道图像就是彩色图像,我们之前黑白相机或黑白电视机都是彩用的灰阶图像,即单通道图像,一般是2的8次方个灰阶,即256个灰阶.彩色图像采用RGB,红绿蓝三个通道来合成彩 ...
 - Halcon一日一练:图像、变量实时更新
		
某些场合,我们需要刷新图像来识别图像处理过程的差异性,便于调试判断问题和预测.Halcon提供了图像刷新操作,这些操作不会改变程序的最终处理结果. 例程: **实时刷新图像 dev_update_wi ...
 - Halcon一日一练:CAD类型的相关操作
		
大很多场合,需要在视觉程序中导入CAD文档,比如,在3C行业,需要对手机外壳进行CNC加工,或者点胶操作,此时,需要获取产品的各个点的数据.如果将CAD直接导入,就会大的减少编程工作量,同时也能达到很 ...
 - Halcon一日一练:图像拼接技术2:步骤与例程
		
上一篇主要介绍了图像拼接的一些原理和方法,这一篇将主要介绍步骤和例程: 接上一篇: 基于特征的接拼方法,分为四个步骤 1.特征检测:从图像中检测出显著且独特的图像特征,诸如:闭合区域,直线段,边缘,轮 ...
 - Halcon一日一练:获取程序运行时间
		
很多时候,我们需要知道每个函数的运算周期,以提高程序的运行效率.知道运行时间对于图像算法处理很重要 Halcon提供相关的算子,我们先来看代码: **获取图像处理时间 read_image(Image ...
 - Halcon一日一练:图像分割之阈值分割1
		
先了解什么是阈值,度娘告诉我的是:一个领域或一个系统的界限称为阈,其数值称为阈值.在图像中,我们把图像看成一个由像素灰度值组成的数集,那么阈,就是这个图像中,根据目标与背景灰度值的差异,选取的一个合适 ...
 
随机推荐
- 松软科技课堂:SQL之NOTNULL约束
			
SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下面的 SQ ...
 - 即时聊天APP(五) - 聊天界面
			
设置界面没什么好说的,无非也就是加了个对话框来二次提醒用户,现在来讲讲聊天界面. 聊天界面初始化时会得到一个参数,就是对方的id,并设置在标题栏的位置,此界面也是使用RecyclerView来展示聊天 ...
 - Prometheus Operator 监控Kubernetes
			
Prometheus Operator 监控Kubernetes 1. Prometheus的基本架构  Prometheus是一个开源的完整监控解决方案,涵盖数据采集.查询.告警.展示整个监控流程 ...
 - ElasticSearch实战系列二:  ElasticSearch的DSL语句使用教程---图文详解
			
前言 在上一篇中介绍了ElasticSearch集群和kinaba的安装教程,本篇文章就来讲解下 ElasticSearch的DSL语句使用. ElasticSearch DSL 介绍 Elastic ...
 - loadrunner12下载、安装、认证、汉化
			
友情提示 推荐工具pandownload下载 本文尽可能地写得详细一些,有不懂的请先自行百度 安装过程中会有大量英文,可以用有道词典截图翻译 若你的电脑只有一个分区,则建议所有位置选择默认,或者根据个 ...
 - 前端基于VUE的v-charts的曲线显示
			
目录 前端基于VUE的v-charts的曲线显示 1. 应用背景 2. 分析数据生产者生成 3. 取出数据消费者 4. 前端显示 4.1 安装V-charts插件 4.2 引入veline曲线插件 4 ...
 - Spring boot 官网学习笔记 - Using Spring Boot without the Parent POM,但是还要使用Parent POM提供的便利
			
If you do not want to use the spring-boot-starter-parent, you can still keep the benefit of the depe ...
 - 十分钟快速学会Matplotlib基本图形操作
			
在学习Python的各种工具包的时候,看网上的各种教程总是感觉各种方法很多很杂,参数的种类和个数也十分的多,理解起来需要花费不少的时间. 所以我在这里通过几个例子,对方法和每个参数都进行详细的解释,这 ...
 - rabbitmq linux卸载
			
rabbitmq是运行在erlang环境下的,所以卸载时应将erlang卸载. 1.卸载rabbitmq相关 卸载前先停掉rabbitmq服务,执行命令 $ service rabbitmq-serv ...
 - 深入集合类系列——ArrayList和Vector的区别
			
区别: 1)Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性 ...