有无图像没图像
是否黑屏黑屏,白屏,花屏
是否亮灯亮红灯
是否开机不开机
故障设备找不到相机
工业相机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 白
工业相机是机器视觉系统中的一个关键组件,相比于市面上普通相机来说,具有更高的传输力、抗干扰力以及稳定的成像能力。它由两大基本部件组成:图像感光芯片和数字化的数据接口。
Basler 作为计算机视觉行业的标准制定者,一直致力于为客户提供一站式解决方案。BASLER工业相机广泛应用在人工智能设备中,持续赋能智能制造,随着智能设备产品的增多,后期使用上坏的可能也很多,坏了就淘汰扔掉吗?对于现在的制造成本来说,对工业相机进行维修是非常理想的选择,不仅缩短设备维修的时间,也大大节省了设备购买的成本,对于深耕视觉设备工业相机维修10年以上的技优电子来说,不仅交期快,修复率也高。
如下Basler ace 系列型号的巴斯勒工业相机坏了是可以维修的。
相机型号 全系列产品 分辨率 感光芯片 帧速率 黑白/彩色 接口
a2A4096-9gmBAS ace 2 Basic 12.3 MP IMX545 标准帧速率: 9 fps Mono GigE
a2A4096-9gcBAS ace 2 Basic 12.3 MP IMX545 标准帧速率: 9 fps Color GigE
a2A4096-30umBAS ace 2 Basic 12.3 MP IMX545 标准帧速率: 30 fps Mono USB 3.0
a2A4096-30ucBAS ace 2 Basic 12.3 MP IMX545 标准帧速率: 30 fps Color USB 3.0
a2A4200-12gmBAS ace 2 Basic 9.1 MP GMAX2509 标准帧速率: 12 fps Mono GigE
a2A4200-12gcBAS ace 2 Basic 9.1 MP GMAX2509 标准帧速率: 12 fps Color GigE
a2A4200-40umBAS ace 2 Basic 9.1 MP GMAX2509 标准帧速率: 40 fps Mono USB 3.0
a2A4200-40ucBAS ace 2 Basic 9.1 MP GMAX2509 标准帧速率: 40 fps Color USB 3.0
a2A4504-5gmBAS ace 2 Basic 20.2 MP IMX541 标准帧速率: 5 fps Mono GigE
a2A4504-5gcBAS ace 2 Basic 20.2 MP IMX541 标准帧速率: 5 fps Color GigE
a2A4504-18umBAS ace 2 Basic 20.2 MP IMX541 标准帧速率: 18 fps Mono USB 3.0
a2A4504-18ucBAS ace 2 Basic 20.2 MP IMX541 标准帧速率: 18 fps Color USB 3.0
a2A5320-7gmBAS ace 2 Basic 16.1 MP IMX542 标准帧速率: 7 fps Mono GigE
a2A5320-7gcBAS ace 2 Basic 16.1 MP IMX542 标准帧速率: 7 fps Color GigE
a2A5320-23umBAS ace 2 Basic 16.1 MP IMX542 标准帧速率: 23 fps Mono USB 3.0
a2A5320-23ucBAS ace 2 Basic 16.1 MP IMX542 标准帧速率: 23 fps Color USB 3.0
a2A5328-4gmBAS ace 2 Basic 24.4 MP IMX540 标准帧速率: 4 fps Mono GigE
a2A5328-4gcBAS ace 2 Basic 24.4 MP IMX540 标准帧速率: 4 fps Color GigE
a2A5328-15umBAS ace 2 Basic 24.4 MP IMX540 标准帧速率: 15 fps Mono USB 3.0
a2A5328-15ucBAS ace 2 Basic 24.4 MP IMX540 标准帧速率: 15 fps Color USB 3.0
一、工业相机编程模型和流程
不同的工业相机提供不同的编程接口(SDK),尽管不同接口不同相机间编程接口各不相同,他们实际的API结构和编程模型很相似,了解了这些再对工业相机编程就很简单了。
DMA技术:
DMA是一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。
对于工业相机来说,当CMOS或CCD芯片曝光然后将数据转到相机缓存后,这时候DMA会负责将缓存中数据保存到硬盘上位置,正好满足相机高速大数据的传输。一般都会使用DMA来完成实时的数据采集和保存。
多数时候,DMA控制器存在各种接口的图像采集卡中,包括1394/GigE/USB/Camera Link等,这些采集卡有自己的时间控制单元完成和相机曝光的同步,并控制DMA的存取行为。
编程模型和流程
对于相机来说,常见编程时我们关注三个对象——相机对象、采集对象、参数对象。
相机对象(Camera Object):负责相机的连接、断开等工作。
采集对象(Grab Streamer):负责相机的采集队列分配、相机单帧、连续采集。
参数对象(Parameter Object):负责相机参数的设置。
不同的SDK可能安排不一样,一般来说要不是三种对象的功能合并到“相机对象”中,要不是分为三种对象,其实采集对象和参数对象都是在“相机对象”上封装而来。
http://jaso.cn.b2b168.com