有无图像没图像
是否黑屏黑屏,白屏,花屏
是否亮灯亮红灯
是否开机不开机
故障设备找不到相机
随着科技的日渐成熟,工业相机得到了飞速发展。近几年国外的工业相机厂商快速崛起,成为机器视觉领域的,比较有代表性的有:basler相机、灰点相机等。下面我们来看一下工业相机的主要参数:
1.分辨率:是指该像元传感器对不同光波的敏感特性,一般响应范围是350nm-1000nm,一些相机在靶面前加了一个滤镜,滤除红外光线,如果系统需要对红外感光时可去掉该滤镜。
2.像素深度:这个参数也在一定程度上影响着图像质量的好坏。
3.帧率:这个参数是相机采取传输图像速率的一个重要的衡量标准,对于一般的面阵相机一般为每秒采集的帧数,对于大多数线阵相机为每秒采集的行数,这是选择工业相机时得考虑的必不可少的一个参数
4.曝光方式:不同的工业相机有着不同的曝光方式。线阵相机一般采用的是逐行曝光方式,面阵相机一般采用帧曝光和滚动行曝光,还有一些面阵相机才用的是场曝光。
5.像元尺寸:像元大小和分辨率共同决定了相机的靶面的大小。而相机靶面有对图像的成像质量有着很大的影响。一般情况下,像元的尺寸越小,越难制造,但是越小的像元成像的质量也就越高。
6.接口类型:不同的工业相机有着不同的接口类型。主要有GIGE千兆网、USB2.0、USB3.0、Camera Link1394A、1394B、等多种类型的接口
智能相机一般由图像采集单元、图像处理单元、图像处理软件、网络通信装置等构成,各部分的功能如下:
1.图像采集单元:在智能相机中,图像采集单元相当于普通意义上的CCD/CMOS相机和图像采集卡。它将光学图像转换为模拟/数字图像,并输出至图像处理单元。
2.图像处理单元:图像处理单元类似于图像采集、处理卡。它可对图像采集单元的图像数据进行实时的存储,并在图像处理软件的支持下进行图像处理。
3、图像处理软件:图像处理软件主要在图像处理单元硬件环境的支持下,完成图像处理功能。如几何边缘的提取、Blob、灰度直方图、OCV/OVR、简单的定位和搜索等。在智能相机中,以上算法都封装成固定的模块,用户可直接应用而*编程。
4、网络通信装置:网络通信装置的智能相机的重要组成部分,主要完成控制信息、图像数据的通信任务。智能相机一般均内置以太信装置,并支持多种标准网络和总线协议,从而使多台智能相机构成更大的机器视觉系统。
机器视觉智能相机与工业相机区别,简言之:智能相机是一种高度集成化的微小型机器视觉系统;而工业相机是机器视觉系统的组成部分之一
可以看到相机编程需要做三方面工作:
1.初始化操作
先初始化相机驱动Com环境,然后遍历得到当前的相机列表,根据相机ID或List 编号选择对应相机。
之后连接相机,先设置本次采集的相机参数(帧速、图像大小、缩放比等),然后是分配和注册当前DMA队列,这里有的是用户完成,有的是SDK完成。
之后先开启DMA逻辑等待相机采图,然后使相机开始工作采图,整个系统就按照之前工作流程运作起来了,许多SDK将“开启DMA”和“相机开始工作”合并为“开始采集”。
2.结束操作
先停止相机工作再关闭DMA逻辑,许多SDK将“开启DMA”和“相机开始工作”合并为“结束采集”。
然后清理DMA队列,和分配时对应,这里有的是用户完成,有的是SDK完成。
后断开相机并清理工作环境。
Pylon 以实时图像采集讲解PylonC SDK使用流程
一般的对于提供硬件编程来说,硬件生产厂家都会提供好SDK使用的手册和实例。手册中一般包括安装和配置流程,一些基本概念的介绍,SDK每个函数使用,SDK使用流程和实例(有些硬件实例直接写在手册中,有些会以单文件存在,还有的两者皆有)。对于上位机软件开发人员来说拿到一个硬件上位机编程任务。
先应该阅读了解其SDK概念,再按照其介绍的SDK开发流程阅读其提供的实例,修改相应的实例为自己所用,有不懂的函数查询一下其用法即可。有些开发人员习惯性的去记其API,这是费时费力的做法,并不推荐。下面主要以实时图像采集讲解Basler相机的PylonC SDK的使用流程。
http://jaso.cn.b2b168.com