Halcon一日一练:图像设备介绍
Halcon在设计之初就提供了完整的图像采集方案,适应了多种图像设备采集图像,以及各种不同环境的采集方案。
通常情况下,图像的采集应该是所有机器视觉项目首要解决的任务,不幸的是,需要解决图像采集的问题,对应装备的种类具有特殊性,以及非标准化的硬件设备,比如,USB相机或IEEE1394相机,他们提供的物理接口及设备驱动都完全不一样。为了让我们专注于机器视觉实际的问题,Halcon提供了大量的图像采集接口,通过这种快速接口,HALCON图像采集的代码量大为减少,只要几行代码就能解决问题。 使用halcon我们可以获取来自采集设备和摄像头在采集过程中,不同定时模式的各种配置,更重要的是,这种简单不是以牺牲采集设备的可用功能及效率为代价的。
除了从相机获取图像,也可以采集的图像存储在文件中,HALCON也可以通过存储在文件的方式来输入图像,文件的格式支持:BMP,TIFF,GIF,JPEG,PNG,PNM,PCX,XWD.
采集图像和基本步骤:
Halcon的采集图像基本包括三个步骤,从文件中读取图像更简单,只需对操作:read_image进行单一获取图像即可。采集图像的三个步骤是:
第一步:打开图像采集设备
第二步:采集图像
第三步:关闭图像采集设备
第一步:打开图像采集设备:
如果你想获得从图像采集卡或图像采集设备的图像,例如,我们使用一个IEEE1394的摄像头,第一步是连接该设备,HALCON会帮助我们解除所有与该设备实施的操作细节,我们需要做的只是调用函数open_framegrabber即可,并指定相应图像采集接口的名称。
也有一种虚拟的图像采集接口,它以文件的形式作为虚拟的图像采集接口。顾名思义,这种帧接收器读取图片来自文件,也即所谓的图像序列文件。后者是HALCON特定的文件,通常带有扩展名.seq,它们包含图像文件名,以换行分隔的列表(可以创建一个易于使用文本编辑器)。如果我们连接到这样一个序列,后续调用该文件中指定的顺序grab_image返回图像。另外,我们也可以从一个特定的目录中读取所有图像。这样不必创建一个序列文件,而只是指定的目录名。
调用grab_image返回指定的图像目录中的图像。如果你想测试文件序列的图像,以后需要切换到一个真实的物理图像采集设备,这种应用程序 的两种方法都是有效的。
第二步:获取图像
一旦连接设备成功,我们通过简单地调用grab_image获取图像。如果是从磁盘加载图像,我们可以使用read_image,从目前目录和环境变量halconImages指定的目录中搜索图像。
第三步:关闭图像采集设备
在应用程序结束时,一定要通过close_framegrabber来关闭图像采集设备的连接,以释放其内存资源,同时如果其它系统需要调用该设备,只有在关闭该设备连接,其它系统调用才能成功。
采集图像常用的函数:
1:open_framegrabber:用于打开设备,或者获取设备信息
2:set_framegrabber_param,:设置设备参数,
3:get_framegrabber_param:获取设备参数,
4:grab_image,grab_image_async,采集图像
5:read_image:读取图像
6:close_framegrabber:关闭采集设备。
无法应用halcon采集设备
除此之外,我们可能会遇到以下两种情况:
1:我们可以对外部创建的图像使用运营商采用函数gen_image1,gen_image3,gen_image1_extern或gen_image3_extern
2:不支持的图像采集设备
如果当前设备不支持halcon,也就是说HALCON图像采集接口无法支持的图像采集设备,我们也可以通过创建自己的interface来采集图像。
Halcon一日一练:图像设备介绍的更多相关文章
- Halcon一日一练:读取文件目录图像的三种方法
第一种方法: 读了一个单一图像: read_image(Image,'fabrik') 这种方式可以快速的读取软件自身携带的库图像文件,系统设定了库图像映像文件的快速读取方式,我们也可以通过绝对地址的 ...
- Halcon一日一练:图像拼接技术2:步骤与例程
上一篇主要介绍了图像拼接的一些原理和方法,这一篇将主要介绍步骤和例程: 接上一篇: 基于特征的接拼方法,分为四个步骤 1.特征检测:从图像中检测出显著且独特的图像特征,诸如:闭合区域,直线段,边缘,轮 ...
- Halcon一日一练:图像采集设备的基本参数
因操作图像处理之前,需要对图像进行采集.采集图像,我们首先要确定的是图像的像素和采集的效率.这些都需要对设备进行配置与操作.现实情况是图像设备有各自不同的采集方式,配置也各不相同.这就需要设备提供商提 ...
- Halcon一日一练:创建三通道图像
首先理解一个什么是三通道图像: 三通道图像就是彩色图像,我们之前黑白相机或黑白电视机都是彩用的灰阶图像,即单通道图像,一般是2的8次方个灰阶,即256个灰阶.彩色图像采用RGB,红绿蓝三个通道来合成彩 ...
- Halcon一日一练:图像、变量实时更新
某些场合,我们需要刷新图像来识别图像处理过程的差异性,便于调试判断问题和预测.Halcon提供了图像刷新操作,这些操作不会改变程序的最终处理结果. 例程: **实时刷新图像 dev_update_wi ...
- Halcon一日一练:图像分辨率与像素
1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...
- Halcon一日一练:CAD类型的相关操作
大很多场合,需要在视觉程序中导入CAD文档,比如,在3C行业,需要对手机外壳进行CNC加工,或者点胶操作,此时,需要获取产品的各个点的数据.如果将CAD直接导入,就会大的减少编程工作量,同时也能达到很 ...
- Halcon一日一练:获取程序运行时间
很多时候,我们需要知道每个函数的运算周期,以提高程序的运行效率.知道运行时间对于图像算法处理很重要 Halcon提供相关的算子,我们先来看代码: **获取图像处理时间 read_image(Image ...
- Halcon一日一练:图像分割之阈值分割1
先了解什么是阈值,度娘告诉我的是:一个领域或一个系统的界限称为阈,其数值称为阈值.在图像中,我们把图像看成一个由像素灰度值组成的数集,那么阈,就是这个图像中,根据目标与背景灰度值的差异,选取的一个合适 ...
随机推荐
- Metasploit工具----辅助模块
Metasploit框架(Metasploit Framework,MSF)是一个开源工具,旨在方便渗透测试,他是有Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发.使用定制的 ...
- 微信小程序商城构建全栈应用 Thinkphp5
课程——微信小程序商城构建全栈应用[目录]第1章 前言:不同的时代,不同的Web第2章 环境,工具与准备工作第3章 模块,路由与获取请求参数第4章 构建验证层第5章 REST与RESTFul第6章 A ...
- Netty源码分析 (十一)----- 拆包器之LengthFieldBasedFrameDecoder
本篇文章主要是介绍使用LengthFieldBasedFrameDecoder解码器自定义协议.通常,协议的格式如下: LengthFieldBasedFrameDecoder是netty解决拆包粘包 ...
- js中Math对象常用的属性和方法
1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...
- APP自動化測試腳本1
package com.lemon.day01; import java.net.MalformedURLException; import java.net.URL; import java.uti ...
- 第八届蓝桥杯java b组第五题
标题:取数位 求1个整数的第k位数字有很多种方法.以下的方法就是一种. 对于题目中的测试数据,应该打印5. 请仔细分析源码,并补充划线部分所缺少的代码. 注意:只提交缺失的代码,不要填写任何已有内容或 ...
- 下载腾讯VIP视频
1.找到自己想看的VIP视频网页地址,比如我就喜欢看一周一更的天行九歌,链接地址:https://v.qq.com/x/cover/rm3tmmat4li8uul/i0031xd1vjf.html 2 ...
- 23种设计模式之抽象工厂(Abstract Factory Pattern)
抽象工厂 当想创建一组密不可分的对象时,工厂方法似乎就不够用了 抽象工厂是应对产品族概念的.应对产品族概念而生,增加新的产品线很容易,但是无法增加新的产品.比如,每个汽车公司可能要同时生产轿车.货车. ...
- sql server编写archive通用模板脚本实现自动分批删除数据
博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常 ...
- <机器学习>无监督学习算法总结
本文仅对常见的无监督学习算法进行了简单讲述,其他的如自动编码器,受限玻尔兹曼机用于无监督学习,神经网络用于无监督学习等未包括.同时虽然整体上分为了聚类和降维两大类,但实际上这两类并非完全正交,很多地方 ...