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
先了解什么是阈值,度娘告诉我的是:一个领域或一个系统的界限称为阈,其数值称为阈值.在图像中,我们把图像看成一个由像素灰度值组成的数集,那么阈,就是这个图像中,根据目标与背景灰度值的差异,选取的一个合适 ...
随机推荐
- linux 堆栈查看
top -c 查看进程ID pstree PID 查看线程树 pstack PID 查看堆栈
- Python 2.X和3.X主要区别和下载安装
一.python 2.X和3.X的区别 https://wenda.so.com/q/1459639143721779?src=140 二.Python的下载安装 1.Python下载 在python ...
- SpringBoot整合Nacos注册中心
#### 什么是Nacos Nacos 是阿里巴巴的开源的项目,Nacos致力于帮助您发现.配置和管理微服务.Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流 ...
- 【linux】【maven】maven及maven私服安装
前言 系统环境:Centos7.jdk1.8 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的用户使用.当Maven需要下载构件的时候,它从私服请求,如 ...
- Spring boot缓存初体验
spring boot缓存初体验 1.项目搭建 使用MySQL作为数据库,spring boot集成mybatis来操作数据库,所以在使用springboot的cache组件时,需要先搭建一个简单的s ...
- jenkins自动化部署项目4 -- 安装和配置jdk、maven、git
Jenkins提供了自动安装jdk,maven,git的功能,在[系统设置-全局工具配置]里,但是我自动安装没反应,因此我是先手工安装和配置它们的环境变量然后再在[系统设置-全局工具配置]里配置: 1 ...
- 【翻译】Docker Compose 与Docker Stack的不同
翻译原文 Docker引擎在1.12 版本集成了Docker Swarm, 带来了一些新工具. 现在可以无需安装 Docker Compose, 就可以利用docker-compose.yml 文件 ...
- UploadFile
import org.apache.hadoop.conf.*; import org.apache.hadoop.fs.*; import java.io.IOException; import j ...
- 读取unicode日志文件并清除记录的垃圾文件
//读取unicode文件,并清除记录的垃圾文件 //参数1:日志文件路径 bool ReadFilePath(const wchar_t *DataFilePath) { wchar_t ChBuf ...
- 报表统计——java实现查询某年某月每天数据,没数据补0
一般图表绘制例如echarts等,返回数据格式都大同小异.重点是利用sql或者java实现数据格式的转型,接下来是关键部分: 1.前提:提供的工具方法——获取某月有多少天 //通过年份和月份确定该月的 ...