有无图像没图像
是否黑屏黑屏,白屏,花屏
是否亮灯亮红灯
是否开机不开机
故障设备找不到相机
如图,每个相机可能有不同的流采集器(Grab Streamer)或同一接口上安装了多个相机(也对应多个流采集器),对应多个通道(Channel)。对每个通道来说,在实际采集时数据传输实际上是拆分成如图的数据包(Packet) RawData形式传递的,内存中存储形式为一维数组,在每一帧图像的起始存在不同的标识表明一帧的开始和结束,每一个Packet都有标识表明当前所属的通道。为了显示图像,用户程序需要重新将一维数组数据拼装成图像形式,这一过程由用户完成,通常可借助OpenCV或MIL等图像处理包完成该操作。
随着科技的日渐成熟,工业相机得到了飞速发展。近几年国外的工业相机厂商快速崛起,成为机器视觉领域的,比较有代表性的有:basler相机、灰点相机等。下面我们来看一下工业相机的主要参数:
1.分辨率:是指该像元传感器对不同光波的敏感特性,一般响应范围是350nm-1000nm,一些相机在靶面前加了一个滤镜,滤除红外光线,如果系统需要对红外感光时可去掉该滤镜。
2.像素深度:这个参数也在一定程度上影响着图像质量的好坏。
3.帧率:这个参数是相机采取传输图像速率的一个重要的衡量标准,对于一般的面阵相机一般为每秒采集的帧数,对于大多数线阵相机为每秒采集的行数,这是选择工业相机时得考虑的必不可少的一个参数
4.曝光方式:不同的工业相机有着不同的曝光方式。线阵相机一般采用的是逐行曝光方式,面阵相机一般采用帧曝光和滚动行曝光,还有一些面阵相机才用的是场曝光。
5.像元尺寸:像元大小和分辨率共同决定了相机的靶面的大小。而相机靶面有对图像的成像质量有着很大的影响。一般情况下,像元的尺寸越小,越难制造,但是越小的像元成像的质量也就越高。
6.接口类型:不同的工业相机有着不同的接口类型。主要有GIGE千兆网、USB2.0、USB3.0、Camera Link1394A、1394B、等多种类型的接口
需要说明如下几点:
1.这里的初始队列为1-10,都是初始分配为DMA队列的,这个内存分配和释放过程有的SDK是自己负责的,有的则需要用户自己分配和释放,SDK只负责托管使用。
2.一般开始注册一个中断处理函数,当“准备队列”填充完成会自动跳转到中断函数中,借此完成同步操作。也可以是用户自己维护同步结构体,使用查询和等待的方式判断“准备队列”头是否填充完成,是否该用户程序获取数据和处理了。
3.如果用户处理任务非常简单,可以去掉“处理队列”,每次直接GetFrame->处理->PutFrame。如果用户处理任务比较复杂而不希望出现丢帧的现象,则需要用户使用“处理队列”来保存所有可用的Buffer。
4.这里队列也只是能够解决处理速度比采集速度慢少许的情况,主要是对不同处理速度做平均来保证采集和处理同步。如果每一帧的处理时间太长,这时候“DMA队列” Buffer全部转移到“处理队列” Buffer,就会出现异常情况,这时不同的相机会有不同的处理方法。
智能相机并不是一台简单的相机,而是一种高度集成化的微小型机器视觉系统。它将图像的采集、处理与通信功能集成于单一相机内,从而提供了具有多功能、模块化、高可靠性、易于实现的机器视觉解决方案。同时,由于应用了的DSP、FPGA及大容量存储技术,其智能化程度不断提高,可满足多种机器视觉的应用需求。
http://www.dianlubanweixiu.cn