选择视觉板卡及其软件包的相关策略

   2023-07-11 互联网2650
核心提示:  使用与板卡相匹配的软件包,不仅可以避免在板卡的实际应用过程中出现软硬不配的问题。同时,如果我们对软件中的各种工具可以

  使用与板卡相匹配的软件包,不仅可以避免在板卡的实际应用过程中出现“软硬不配”的问题。同时,如果我们对软件中的各种工具可以熟练地善加利用,还可以大大缩短应用系统的开发周期,并且便于优化系统,易于进行系统维护和源代码管理。

  我们都知道,任何一个采集卡都需要一套软件包来支持。这是因为,就像任何计算机的硬件配件一样,视觉卡同样需要依靠软件才能将其潜力发挥至极。硬件是躯体而软件则是灵魂。

  视觉软件包,由早期的标准C语言,发展到OCX 及ActiveX Control 技术,视觉软件包已经变得越来越容易被用户使用。

  与板卡配套的视觉软件包,通常包括以下几个模块:

  ● 图像预处理部分 对图像进行预处理的功能模块,如二值化、边缘锐化等。

  ● 图像处理部分 对图像进行分析、测量的功能模块,如边缘寻找、目标寻找等。

  ● 字符识别部分(OCR) 对字符进行识别的功能模块。

  ● 数据提取部分 对条形码、二维码进行提取的功能模块。

  ● 图像资源管理部分 对于图像进行管理、存储的功能模块,如图像缓冲区、图像硬盘存储、图像格式轮换等。

  ● 实际应用模块 专为某一特定领域的视觉系统,所提供的软件工具,如BGA 检测。

  ● 显示功能模块 如图像放大、画图等。

  ● 其他功能模块 如数据管理模块等。

  随着市场上越来越多的视觉板卡及配套的软件包大量涌现,使用户难以决定到底选用哪一家公司的产品才是最佳选择。

  在展开讨论之前,首先要树立这样一个观念:即我们选用板卡的标准不是“好”与“坏”、“强”与“弱”,而是“适合”与“不适合”。一张设计出色的采集卡外加功能强大的软件配套,自然是一个“好”的选择。但如果在你的二次开发应用系统中,只用到了其软件包中一半的函数,那么对于你们公司来说,整套产品虽然是“好”的产品,但却不是适合的产品。

  板卡硬件功能的对比

  目前市场上的视觉板卡,主要分为三类:视觉采集卡,这就是我们提到的Frame Grabber。它最主要的功能就是将相机中输出的模拟图像信号,转换成数字信号,最终传至电脑的内存中去;具有显示功能的视觉卡,这种板卡在上一种采集卡的基础之中,又另加入了图像显示功能。即可以将图像直接显示到任何显示器上;自带处理器的板卡,这种板卡本身就带有处理器,进行图像处理工作的程序,不必在电脑中而可以直接在板卡上运行。

  由于以上三种板卡在硬件上就有很大不同,很难作横向对比。因此我们仅就板卡一些常见的功能作分析对比。

  1. 相机支持

  随着市场上各种新功能相机的出现,板与相机的匹配问题便更加显得重要了。

  (1)制式。CCD 相机有各种不同制式,如CCIR、RS170等等。确定板卡是否支持所有制式的信号。

  (2)异步信号。异步信号可以节省拍照时间。不过在选用具有异步信号功能的相机之前,首先要确定板卡也有此功能。这一功能对于运行速度要求极高的系统来说,至关重要。以RS170 为例,如果没有这一功能,系统等待拍照的时间为0~40ms。

  (3)逐行扫描。 越来越多的系统会使用到逐行扫描相机,因此要首先知道板卡是否支持这种相机。

  (4)多分辨率支持。不是每张板卡都可以支持所有分辨率的相机。

  (5)多频道。多数板卡都可以同时控制两个以上的相机。至于其他一些不常见的功能,如时钟功能等,这里略过不提。

  2. 灯源激发

  相当多的板卡带有灯源激发功能。这不仅缩短了系统总体运行的时间,简化了编程人员的工作。更重要的在于,这一功能可以更加有效地使灯源与相机同步工作。

  3. 图像存储

  大家已经知道,相机拍照的时间最多为40ms,而系统对于图像进行分析、测量的时间则要漫长得多。因此,在实际操作中,常常会出现相机“等待”电脑的情况。因此,一些板卡便另设有一些内存,作为图像的缓冲区。即在前一幅图像尚未分析完之间,接下来相机所传来的图像,暂时存放到缓冲区中。之后,再以先进先出的方式,逐一送至电脑内存。不过,关于板卡的这一硬件功能,市场上有两个全然相反的评价。

  4. 其他参数

  其他参数包括如信号转换速度等。

  板卡软件包的对比

  面对不同公司的视觉软件包时,该如何作出正确的选择?根据上面所讲的软件包的基本功能与构成,就其中较重要的部分作出分析。

  我们首先要考虑的问题是:哪一家公司的软件更加容易使用,即在此软件包基础上作二次开发,是否容易上手、能否缩短开发时间。从以下几个方面来考虑:

  1. 开发硬件环境

  此软件包在所选用的电脑硬件系统下是否能正常运行。如是否支持PCI 接口、显示卡等。

  2. 开发操作系统

  此软件包在所选用的操作系统下能否正常运行。如是否支持WIN2000,Linux 等等。

  3. 开发语言

  此软件包是否适用于客户所选用的开发语言。如使用VC ++,VB、CPB、DELPHI等语言作二次开发,是否简单易用。当然我们还要对比不同公司的软件包在图像处理方面功能的优劣。

  4. 边缘寻找功能

  边缘寻找是图像处理中最为基本也是最为常用的工具。此功能主要就以下几个参数作对比:

  (1)精度。可以查阅软件包的产品介绍或是使用说明。

  (2)稳定性。可使用不同图像对软件进行实际测试, 如进行GR&R 测试。

  (3)多样性。是否能够应付各种不同的实际情况。如不同形状的边缘寻找,不同明暗情况下的边缘寻找等等。

  (4)速度。可在统一的情况下(如使用同一图像)对不同系统进行实际测试。

  5. 目标定位功能

  目标定位功能,是图像处理中另一基本且常用的工具。同样有以下几个参数作对比:

  (1)精度。可以查阅软件包的产品介绍或是使用说明。

  (2)稳定性。可使用不同图像对软件进行实际测试。

  (3)速度。对于目标定位功能来说,其运行速度的快慢,可以认为是其软件水平高低的直接标志之一。可在统一的情况下(如使用同一图像、同一速度电脑)对不同系统进行实际测试。

  (4)操作复杂程度。由于目标定位功能比边缘寻找功能在算法上要复杂得多,这就使得此功能参数设置的繁简程度,会直接影响二次开发的难易。

  6. 图像预处理功能

  图像预处理功能(如二值化、边缘锐化、反差调节等等),可以提高图像分析速度、简化分析工程。

  7. 字符读取功能(OCR)

  对于那些主要应用于各种字符读取的视觉系统来说,此功能尤为重要。

  8. 数据读取功能

  目前绝大多数公司的软件包中,都带有条形码、二维码的读取功能。大家所要注意的是,不同软件在不良情况的应对能力,如光源不足、图像不清、源码残缺等情况。

  9. 图像缓冲功能

  与板卡的“图像存储”功能相似,这一功能的主要目的,是为了缓解拍照与运算时间上不同步的矛盾。与板卡上硬件缓冲区所不同的是,这一功能纯由软件来实现。通常的概念是,在内存中开辟一固定空间,从板卡传来的图像信号,在电脑分析完之前都会按序存在这一空间里。每幅图像地址的指针,另存在一堆栈中,图像以先进先出的方式清除。

  10. 实际应用功能

  很多公司为了适应越来越激烈的市场竞争,在原有的底层软件基础上,又开发出可应用于某一特定领域的软件包,以方便这一行业中的视觉二次开发商。如半导体行业中BGA检测工具;显示器生产业中的显示检测工具;机器手行业中的系统定位工具等等。

  11. 接口功能

  软件包是否能够方便地与其他软件或控件接口,一起运行。

  12. 其他辅助功能

  除以上所讲的各功能以外。各视觉公司,又各自开发出一些其他非图像处理的软件工具,以方便开发者使用。如,数据分析工具(SPC)、图像显示工具、画图工具等等。

  应用系统开发时限及功能

  在对该选用哪家公司板卡的问题上作出决定之前。我们还要考虑公司所要开发的目标系统,要拥有哪些功能?在确定了系统这些功能之后,接下来要考虑这些功能是否要由自己来完成,还是使用板卡公司所提供的底层软件包等等一系列的问题。

  1. 系统功能

  首先确定所要开发的系统,应该有哪些基本功能。

  2. 开发时限

  再根据项目的具体要求,确定系统开发周期。

  3. 开发商支持

  软件包开发商是否有详尽的使用说明;是否能提供足够的源代码;如果在本地区有技术支持人员;技术支持人员是否会说中文,如果不会,你们的开发人员是否能与他们很好地沟通。

  4. 人力资源

  考虑能够参与开发工作的人力资源,包括:编程能力、视觉知识等方面。考虑这个问题,是因为通常选用功能完备的软件包并不一定能缩短开发时间,但却能够简化开发工作,使源程序便于优化。

  5. 分析软件包功能

  确定软件包所提供的工具,是否能够支持系统所要求实现的功能。

  6. 最后决定

  根据系统所要实现的功能——哪家公司的软件包能够覆盖最多的系统功能;项目要求的开发时间——哪家公司的软件最容易使用、开发周期最短;公司的人力资源——哪家公司的软件包,最适合你公司开发人员的水平。综合以上各点最后确定出哪家公司的板卡及软件包最适合你。

  确定公司经营方向


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅