一个优秀的视觉处理系统,都是从一个稳定的采集图像开始。
在HALCON界面窗口中,助手---打开新的图像采集
未连接工业相机,自动检测到笔记本电脑的摄像头,接口类型为DirectShow,简单介绍一下DirectShow接口,基本上所有的工业相机都支持DirectShow接口,在halcon不支持的品牌相机就可以使用DirectShow接口来采集图像。
HALCON自带巴斯勒pylon采集接口,如果连接了巴斯勒相机会自动检测到pylon接口;
还有一点比如用国产相机,HALCON安装后没有相应的采集接口文件,我们可以咨询相机厂商是否能够提供HALCON的采集接口,如果有的话,把文件放在上图路径即可。
1.接口库 选择当前连接的相机接口
2.设备:连接设备
3.相机类型:具体型号
4.连接:点击进行相机连接
5.采集:相机采集一张图
6.实时:点击后相机进行连续采集图像
7.检测:当前采集接口参数的有效性
8.所有重置:所有参数恢复初始值
在工业相机中使用做多的参数就是曝光时间、增益、触发模式修改。
检测页面主要显示了相机在采集时候的一些信息
比如:采集需要的时间,以及相机帧率
代码生成:这里点击插入代码按钮后在程序窗口自动插入此相机连接所用代码。如果参数页面有参数修改的话,也会生成相关的代码
下面也会有一个代码预览的功能
上图自动生成的HALCON代码,之前我们修改了曝光,生成代码的时候,设置曝光参数将自动生成代码。
HALCON 的采集模式介绍
grab_image 同步采集
grab_image_async异步采集
同步采集:采集完成后处理图像,然后继续采集。采集的实际帧率受处理速度的影响
异步采集 :采集完后立即采集下一帧图像,同时进行当前帧的图像处理。实际帧率不受处理速度影响
总结:
使用同步采集的时候,抓取的都是当前的图像,而异步采集的时候,读到的图可能是已经当前时间的前几帧图像。如果是拍摄运动物体,可能发生物体已经移动了,图像却还是移动之前的情况。为了避免这个问题可以考虑同步,或者也可以考虑采用多线程机制保证采集和处理的同步。