上世纪90年代到2010年这个时间段里,市场上的视觉图像采集卡及配套的软件包大量涌现。当时由于工业数字相机还没有大量普及,相信那个时代接触过机器视觉的人都会觉得,难以决定到底选用哪一家公司的产品才是合适选择。最近几年随着数字相机的大量使用,图像采集卡渐渐淡出人们的视野,但是这并不妨碍我们对于这些基础知识的认知,往往这些知识才奠定了我们目前的视觉基础,那么接下来维视图像带大家了解一下图像采集卡的选用,继往开来。
在展开讨论之前,首先要纠正一个普遍存在的错误观念:即,我们选用图像采集卡的标准不是“好”与“坏”、“强”与“弱”,而是“适合”与“不适合”。一张设计出色的采集卡外加功能强大的软件配套,自然是一个“好”的选择,但如果在你的二次开发应用系统中,只用到了其软件包中一半的函数,那么,对于你们公司来说,整套产品虽然是“好”的产品,但却不是适合的产品。

MV-M2000E高分辨率医疗用非标黑白图像采集卡
一、图像采集卡硬件功能的对比
目前市场上的视觉图像采集卡,主要可分为三类:
1、视觉采集卡。这就是我们提到的Frame Grabber。它最主要的功能就是将相机中输出的模拟图像信号,转换成数字信号,最终传至电脑的内存中去;
2、具有显示功能的视觉卡。这种板卡,在上一种采集卡的基础之中,又另加入了图像显示功能。即,可以将图像直接显示到任何显示器上;
3、自带处理器的板卡。这种板卡本身就带有处理器,进行图像处理工作的程序,不必在电脑中而可以直接在板卡上运行。
由于以上三种板卡在硬件上就有很大不同,很难作横向对比。因此我们仅就板卡一些常见的功能作分析对比。
工业相机支持:随着市场上各种新功能工业相机的出现,图像采集卡与工业相机的匹配问题便显得更加重要了。
1、制式。CCD相机有各种不同制式,如CCIR、RS170等等,需确定图像采集卡是否支持所有制式的信号。维视图像公司研发生产的MV系列图像采集卡可同时支持PAL/CCIR/RS170等多种制式的信号源。
2、异步信号。异步信号可以节省拍照时间。不过在选用具有异步信号功能的工业相机之前,首先要确定图像采集卡也有此功能。这一功能对于运行速度要求极高的系统来说,至关重要。以RS170为例,如果没有这一功能,系统等待拍照的时间为0~40毫秒。
3、逐行扫描。 越来越多的系统会使用到逐行扫描相机,因此首先要知道图像采集卡是否支持这种相机。维视图像生产的MV-M1000系列逐行图像采集卡可采集点频高达250兆的逐行工业相机;
4、多分辨率支持。不是每张图像采集卡都可以支持所有分辨率的相机。
5、多频道。多数图像采集卡,都可以同时控制二台以上的相机。至于,其他一些不常见的功能,如时钟功能等,这里略过不提。
6、灯源激发:相当多的图像采集卡带有灯源激发功能,这不仅缩短了系统总体运行的时间,简化了编程人员的工作,更重要的在于,这一功能可以更加有效地使机器视觉光源与工业相机同步工作。
7、图像存储:大家已经知道,工业相机拍照的时间为40毫秒(这个数值现在已不准确),而系统对于图像进行分析、测量的时间则要漫长得多。因此,在实际操作中,常常会出现相机“等待”电脑的情况。因此,一些板卡便另设有一些内存,作为图像采集卡的缓冲区。即,在前一幅图像尚未分析完之间,接下来工业相机所传来的图像,暂时存放到缓冲区中。之后,再以先进先出的方式,逐一送至电脑内存。不过,关于板卡的这一硬件功能,市场上有两种全然相反的评价。
8、其他参数:如,信号转换速度等。
二、图像采集卡软件包的对比
面对不同公司的视觉软件包时,该如何做出正确的选择?
我们首先要考虑的问题是:哪一家公司的软件更加容易使用,即在此软件包基础上作二次开发,是否容易上手、能否缩短开发时间。从以下几个方面来考虑:
1、开发硬件环境:此软件包在你公司所选用的电脑硬件系统下是否能正常运行。如,是否支持PCI接口、显示卡等。
2、开发操作系统;此软件包在你们公司所选用的操作系统下能否正常运行。如,是否支持WIN2000/XP/7,Linux等等。
3、开发语言:此软件包是否适用于你们公司所选用的开发语言。如,使用VC++,VB、CPB、DELPHI等语言作二次开发,是否简单易用。笔者曾经用过MV-U2000的USB图像采集盒,SDK丰富,容易上手开发,如果大家需要可以关注。
4、当然我们还要对比不同公司的软件包,在图像处理方面的功能的优劣。后来随着技术的不断发展以及行业的不断细分,图像处理单独于图像采集卡以及所有图像采集产品外成为一个很重要的行业,如MV-MVIPS机器视觉图像处理软件、HALCON图像处理软件,都已被广泛使用。但这并不妨碍我们对这些信息的了解。

MV-MVIPS机器视觉图像处理软件
5、边缘寻找功能:边缘寻找,是图像处理中基本的也是常用的工具。此功能主要以以下几个参数作对比:
(1)、精度。可以查阅软件包的产品介绍或是使用说明。
(2)、稳定性。可使用不同图像对软件进行实际测试,如,进行GR&R测试。
(3)、多样性。是否能够应付各种不同的实际情况,如:不同形状的边缘寻找,不同明暗情况下的边缘寻找等等。
(4)、速度。可在统一的情况下(如,使用同一图像)对不同系统进行实际测试。
6、目标定位功能:目标定位功能,是图像处理中另一基本且常用的工具。同样有以下几个参数作对比:
(1)、精度。可以查阅软件包的产品介绍或是使用说明。
(2)、稳定性。可使用不同图像对软件进行实际测试。
(3)、速度。对于目标定位功能来说,其运行速度的快慢,可以认为是其软件水平高低的直接标志之一。可在统一的情况下(如,使用同一图像、同一速度电脑)对不同系统进行实际测试。
(4)、操作复杂程度。由于目标定位功能比边缘寻找功能在算法上要复杂得多,这就使得此功能参数设置的繁简程度,会直接影响二次开发的难易。
7、图像预处理功能:图像预处理功能(如,二值化、边缘锐化、反差调节等等),可以提高图像分析速度、简化分析工程。
8、字符读取功能(OCR):对于那些主要应用于各种字符读取的视觉系统来说,此功能尤为重要。
9、数据读取功能:目前,绝大多数公司的软件包中,都带有条形码、二维码的读取功能。大家所要注意的是,软件应负载不良情况的能力,如,光源不足、图像不清、源码残缺等情况。
10、图像缓冲功能:与图像采集卡的“图像存储”功能相似,这一功能的主要目的,是为了缓解拍照与运算时间上不同步的矛盾。与板卡上硬件缓冲区所不同的是,这一功能纯由软件来实现。通常的概念是,在内存中开辟一固定空间,从板卡传来的图像信号,在电脑分析完之前都会按序存在这一空间里。每幅图像地址的指针,另存在一堆栈中。图像以先进先出的方式清除。
11、实际应用功能:很多公司,为了适应越来越激烈的市场竞争,在原有的底层软件基础上,又开发出可应用于某一特定领域的软件包,以方便这一行业中的视觉二次开发商。如,半导体行业中BGA检测工具;显示器生产业中的显示检测工具;机器手行业中的系统定位工具等等。
12、接口功能:软件包是否能够方便地与其他软件或控件接口,一起运行。
13、其他辅助功能:除以上所讲的各功能以外。各视觉公司,又各自开发出一些其他非图像处理的软件工具,以方便开发者使用。如,数据分析工具(SPC)、图像显示工具、画图工具等等。
三、应用系统开发时限及功能
在对该选用哪家公司图像采集卡的问题上,做出决定之前,我们还要考虑公司所要开发的目标系统,要拥有哪些功能?在确定了系统这些功能之后,接下来要考虑这些功能是否要由自己来完成,还是使用图像采集卡公司所提供的底层软件包,等等一系列的问题。
下面,我们就将这些问题按思考步骤综合一下:
1、系统功能:首先确定所要开发的系统,应该有哪些基本功能。
2、开发时限:再根据项目的具体要求,确定系统开发周期。
3、供应商支持:软件包开发商是否有详尽的使用说明;是否能提供足够的源代码;如果在本地区有技术支持人员,技术支持人员是否会说中文--如果不会,你们的开发人员是否能与他们很好地沟通。
4、人力资源:考虑能够参与开发工作的人力资源,包括:编程能力、视觉知识等等方面。考虑这个问题,是因为通常选用功能完备的软件包,并不一定能缩短开发时间,但却能够简化开发工作,使源程序便于优化。
5、分析软件包功能:确定软件包所提供的工具,是否能够支持系统所要求实现的功能。
6、最后决定:根据系统所要实现的功能--哪家公司的软件包,能够覆盖较多的系统功能;项目要求的开发时间--哪家公司的软件容易使用、开发周期短;公司的人力资源--哪家公司的软件包,适合你公司开发人员的水平。综合以上各点决定:哪家公司的图像采集卡及软件包,适合你。
四、公司经营方向
其实,在我们决定选用哪家视觉公司的图像采集卡的同时,也是在确定自己公司的经营发展方向。原因很简单,开发一套实际应用视觉系统所需要的成本相当昂贵。如果没有非常充分的理由,一般来说我们是不会选用另一家公司的图像采集卡,重新作开发的。于是,在我们决定选用哪张板卡的同时,还要考虑下面这个问题:
1、系统开发成本:公司所能承受的开发成本是多少,这包括:一套软件包的起始工具箱,以及整组开发人员开发期间的工资等。一般来说,性能较好功能完备的板卡及软件包,都是比较贵的。系统开发成本,直接影响公司资金运作。
2、系统销售成本:系统开发成果之后的销售成本是多少。这包括:软件运行执照,以及系统维护人员的工资等。系统销售成本,直接影响公司的产品市场定位。
3、软件包换代:软件包开发商是否经常推出新产品,并允许客户更新新版本软件,软件版本更新是否免费。
4、实际应用:软件开发商,在你们公司所要从事的领域里,其软件包中的视觉工具,是否具有技术优势。
