工业相机SDK接口使用总结
相机调用 :
我们利用相机采集图像,先要对相机进行相关参数设置及控制,这需要对相机的SDK包比较了解,一般相机厂家都会提供相机SDK,其中包含用户手册和调用Demo,这些都大大降低了调用门槛,提高了二次开发用户的效率。目前用过Balser、海康、大华等相机,其实都是一个套路,都是按照下面几个步骤进行的。
1)枚举设备
2)创建句柄
3)打开设备
4)开始抓图
5)获取一帧并保存图像
6)停止抓图
7)关闭设备
8)销毁句柄
相机同步:
若是开发过程中用到双目或者多目的话,则需要外接同步触发器或者外部触发信号,通过相机同步触发线来实现同步问题。以实际应用过的Basler acA1300-200uc为例,其相机同步触发线具体类型如下:
1 -—— +12 VDC 红
2 —— I/O Input 1 黄
3 —— VCC(加电阻) 蓝
4 —— I/O Out 1 绿
6 —— DCcam Power GND 黑
0000—— I/O GND 白
工作流程:
当相机工作时,就是连续的采集-处理-采集-处理...的过程,但是这就存在一个问题,如果采集的速度比处理速度快,处理不过来,怎么办?在实际中,我们使用队列来解决这个问题,当前帧没有处理完,下一帧到来时直接放入队列等待当前处理完成后再处理它。
工业相机是机器视觉系统中的一个关键组件,其本质的功能就是将光信号转变成高清工业相机为有序的电信号。选择合适的相机也是机器视觉系统设计中的重要环节,相机的不仅是直接决定所采集到的图像分辨率、图像质量等,同时也与整个系统的运行模式直接相关。工业相机又俗称摄像机,相比于传统的民用相机(摄像机)而言,它具有高的图像稳定性、高传输能力和高抗干扰能力等,目前市面上工业相机大多是基于CCD或CMOS芯片的相机。
工业相机中断响应如何操作?
当相机一帧采集完成后,自动跳转进入中断回调函数,这里分了两种中断回调函数。
种为简单的取Buffer->处理->放回。
第二种结合Windows的消息队列,在此处再给一个“处理队列”,给处理一个缓冲时间。
这里的处理包括常见的图像处理、计算和显示及RawData拼装为图像等用到Buffer的地方。
前面也说过,常用的是中断响应处理,除此之外,自己去查询Buffer填充状态并作相关同步操作在某些场合也会用到,这个请查询不同相机SDK给出的同步方案。
差不多所有的工业相机SDK都是这样的编程模型和流程,AVT 1394相机和Basler Camera Link相机和AVT GigE相机相关代码在笔者网站可下载,还有之前讲的Basler Pylon SDK相机编程,他们基本流程都是一样,恕不详述!
苏州技优电子技术服务有限公司承接的维修设备有:各工业相机维修,CCD相机维修,工业摄像机维修,CCD摄像机维修,伺服驱动器维修、变频器维修、电源维修、工控主板、驱动板、接口板、信号处理板、温度控制仪器、数控系列各种控制板、工控机、注塑机CPU板、人机界面、温度板、位置板、比例板、放大板、比例阀、注塑机机械手主板、操作盒等自动化设备控制单元维修。公司拥有的电路板维修测试仪,维修技术团队成员都具备10+年以上设备维修实战经验,设备修复率高、维修交期短、价格低、*原理图。主要维修的有BALSER、teli、cognex、西门子、ABB、欧姆龙、伦茨、松下、富士、施耐德、法那科、安川、台达、东芝、三菱、百格拉等。公司客户行业涉及机械制造、注塑业、橡胶、电路板制造工厂、印刷、电梯、汽车生产、发电、电镀、、食品、包装等。公司秉承“顾客至上,锐意进取”的经营理念,坚持“客户”的原则为广大客户提供的服务。欢迎惠顾!