0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器视觉基本概念学习笔记9

jf_78858299 来源:涛涛CV 作者:涛涛CV 2023-02-08 13:48 次阅读

除了以上介绍的几种常用照明技术,还有些特殊场合所使用的照明技术,比如在线阵相机中需要亮度集中的条形光照明,比如在精密尺寸测量中与远心镜头配合使用的平行光照明技术,比如在高速在线测量中减小被测物模糊的频闪光照明技术,又比如可以主动测量相机到光源的距离结构光照明技术和减少杂光干扰的偏振照明技术等。

此外,很多复杂的被测环境需要两种或两种以上照明技术共同配合完成。因而丰富的照明技术可以解决视觉系统中图像获取的很多问题,光源照明技术的选择可能对一个视觉系统的成功与否至关重要。

  • 光源选择

    一旦选择了照明技术,接下来就是选择何种光源的问题了。光源应该照明形状的需要,需要有足够的均匀度,且稳定性能要好。在机器视觉应用中选择光源应该考虑下面的有关光源的特性:

光谱特征:光源的颜色及测量物体表面的颜色决定了反射到摄像头的光能的大小及波长。白光或某种特殊的光谱在提取其他颜色的特征信息时可能是比较重要的因素。当分析多颜色特征的时候,选择光源的时候,色温是一个比较重要的因素。例如,卤灯更多表现为黄色,相比氙灯显现蓝色。

检测来说,最好的光源颜色(频率)依靠两个因素:被检测物体的颜色和CCD的频谱响应。下面两图就分别是常见光源和接收器的频谱响应曲线和色轮图。

彩色CCD通常需要白色的照明光源—尽管这不是永恒的。我们可以通过实验不同颜色的光来增加图像的对比度,从而使我们的单色检测得到加强。

色轮对我们选择单独频率的光源来增大图像对比度很有帮助。通常用相反色温的颜色照射,可以达到最高级别的对比度,冷色照射暖色图像变暗,照射其它的冷色则变亮。

图片

图片

效率:有些光源效率很高,相对于能量的消耗,其散发出更加多的光能,例如荧光灯。而钨灯,产生相当多的热量,能量消耗也很大。效率不高的光源产生局部过热,浪费很多。一般光源的温度越高,其寿命就会缩短,其消耗的能量就相对较高。

寿命特性:光源一般需要持续多小时的使用。一个寿命为1000小时的光源,在两班运转的情况下,只能持续一个星期左右。更换光源灯泡的维护就必须了。LED光源是比较流行的光源,其可以连续工作很长时间,大约可以连续操作100,100小时。

对多数光源,随着光源的老化,光源释放的能量会减少,根据光源类型的不同,光能减小可能速度比较慢,也可能很快很明显。光能输出的变化可能也影响着光谱特性。当光源的老化速度影响到图像处理结果的时候就可以注意光源的变化了。

费用:许多光源需要在视觉系统的使用过程中更换。如果光源很昂贵,在机器视觉的使用过程中可能会增大后期费用。另外,光源应该在市场上较容易购买。

6、视觉开发软件

如果您的机器视觉应用需要强大的程序库,一套合适的视觉开发软件可为您缩短的开发周期,节省您的时间和金钱。通常的视觉开发软件,有包含相机标定、模式识别、测量、形态学、Blob分析、字符识别等算法在内的通用开发包,也有定制或裁减后的专有功能的开发包,比如用于条码/二维码识别,测量,表面缺陷检测等。

作为PC式机器视觉系统的重要组成部分,视觉软件主要通过对图像的分析、处理和识别,实现对特定目标特征的处理。

专业的视觉软件能实现图像中目标的高精度定位,从而提高了系统的精度。由于开发一款功能强大的视觉底层软件,需要有专业的开发人员,而且还需要有足够长的开发周期。

所以,作为一个系统集成商来说,开发视觉项目,从商业的角度来看,笔者认为其工作重心应放在应用层面的开发上,不应混淆底层开发和应用层开发的区别。也就是说,根据项目的要求,合理选择一款合适的商用视觉软件包,在最短的时间内,完成所承接的项目,创造最快的效益。

虽然从表面上看,自行开发底层视觉软件能节约成本,但由于开发视觉底层软件需要周期长,而且自行开发的软件在性能上,难于达到由专业人员所开发的效果,以至于开发出来的视觉系统不能满足预期的技术指标,最终难以使视觉产品走上商品化。

所以,从综合成本考虑,建议系统集成商在从事视觉项目时,选择一款专业的视觉软件。

  • 市面上合用的商业视觉软件包也有许多,性能、价格等相差较大。选择一款适合项目需要的机器视觉二次开发包时,应从视觉软件能达到的精度、速度、鲁棒性、硬件的要求(是否与图像采集卡相配)、编程的难易程度和价格等方面来综合考虑。图像进行管理、存储的功能模块。如,图像缓冲区、图像硬盘存储、 图像格式轮换等。

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

  • 显示功能部分:如,图像放大功能、画图功能等。

  • 其他功能部分:如,数据管理模块等。

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

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

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

  • 开发硬件环境:此软件包在您公司所选用的电脑硬件系统下是否能正常运行。如,是否支持PCI接口、显示卡等。

  • 开发操作系统;此软件包在您们公司所选用的操作系统下能否正常运行。如,是否支持WIN7,Linux等等。

  • 开发语言:此软件包是否适用于您们公司所选用的开发语言。如,使用VC,VB、CPB、DELPHI等语言作二次开发,是否简单易用。

    当然我们还要对比不同公司的软件包,在图像处理方面的功能的优劣。

  • 边缘寻找功能:边缘寻找,是图像处理中最为基本也是最为常用的工具。此功能主要以下几个参数作对比:一、精度。可以查阅软件包的产品介绍或是使用说明;二、稳定性。可使用不同图像对软件进行实际测试,如,进行GR&R测试;三、多样性。是否能够应付各种不同的实际情况。如,不同形状的边缘寻找,不同明暗情况下的边缘寻找等等;四、速度。可在统一的情况下(如,使用同一图像)对不同系统进行实际测试。

  • 目标定位功能:目标定位功能,是图像处理中另一基本且常用的工具。同样有以下几个参数作对比:一、精度。可以查阅软件包的产品介绍或是使用说明;二、稳定性。可使用不同图像对软件进行实际测试;三、速度。对于目标定位功能来说,其运行速度的快慢,可以认为是其软件水平高低的直接标志之一。可在统一的情况下(如,使用同一图像、同一速度电脑)对不同系统进行实际测试;四、操作复杂程度。由于目标定位功能比边缘寻找功能在算法上要复杂得多,这就使得此功能参数设置的繁简程度,会直接影响二次开发的难易。

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

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

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

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

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

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

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

应用系统开发时限及功能

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

下面,我们就将这些问题按思考步骤综合一下:

  • 系统功能:首先确定所要开发的系统,应该有哪些基本功能。
  • 开发时限:再根据项目的具体要求,确定系统开发周期。
  • 开发商支持:软件包开发商是否有详尽的使用说明;是否能提供足够的源代码;如果在本地区有技术支持人员;技术支持人员是否会说中文--如果不会,您们的开发人员是否能与他们很好地沟通。
  • 人力资源:考虑能够参与开发工作的人力资源,包括:编程能力、视觉知识等等方面。考虑这个问题,是因为通常选用功能完备的软件包,并不一定能缩短开发时间,但却能够简化开发工作,使源程序便于优化。
  • 分析软件包功能:确定软件包所提供的工具,是否能够支持系统所要求实现功能。
  • 最后决定:根据系统所要实现的功能--哪家公司的软件包,能够覆盖最多的系统功能;项目要求的开发时间--哪家公司的软件最容易使用、开发周期最短;公司的人力资源--哪家公司的软件包,最适合您公司开发人员的水平。综合以上各点最决定:哪家的公司的板卡及软件包,最适合您。

公司经营方向

其实,在我们决定选用哪家视觉公司的板卡的同时,也是在确定自己公司的经营发展方向。原因很简单,开发一套实际应用视觉系统所需要的成本相当昂贵。如果没有非常充分的理由,一般来说我们是不会选用另一家公司的板卡,重新作开发的。于是,在我们决定选用哪张板卡的同时,还要考虑下面这个问题:

  • 系统开发成本:公司所能承受的开发成本是多少,这包括:一套软件包的起始工具箱,以及整组开发人员开发期间的工资等。一般来说,性能较好功能完备的板卡及软件包,都是比较贵的。系统开发成本,直接影响公司资金运作。
  • 系统销售成本:系统开发成果之后的销售成本是多少。这包括:软件运行执照,以及系统维护人员的工资等。系统销售成本,直接影响公司的产品市场定位。
  • 软件包换代:软件包开发商是否经常推出新产品,并允许客户更新新版本软件。软件版本更新是否免费。
  • 实际应用:软件开发商,在您们公司所要从事的领域里,其软件包中的视觉工具,是否具有技术优势。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    26

    文章

    1225

    浏览量

    55827
  • 机器视觉
    +关注

    关注

    161

    文章

    4044

    浏览量

    118367
收藏 人收藏

    评论

    相关推荐

    MySQL概念学习

    MySQL学习笔记概念篇)
    发表于 03-18 11:28

    人工智能基本概念机器学习算法

    目录人工智能基本概念机器学习算法1. 决策树2. KNN3. KMEANS4. SVM5. 线性回归深度学习算法1. BP2. GANs3. CNN4. LSTM应用人工智能
    发表于 09-06 08:21

    指令系统的基本概念有哪些

    嵌入式系统设计师学习笔记⑤:指令系统指令的基本概念:一条指令就是机器语言的一个语句,是一组有意义的二进制代码。指令分为2部分:操作码字段OP地址码字段A指出了计算机要执行什么性质的操作
    发表于 12-22 07:49

    什么是机器学习_十张图带你解析机器学习基本概念

    在解释机器学习基本概念的时候,我发现自己总是回到有限的几幅图中。以下是我认为最有启发性的条目列表。
    的头像 发表于 06-30 05:26 3372次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>_十张图带你解析<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的<b class='flag-5'>基本概念</b>

    机器学习算法基本概念及选用指南

    本文对机器学习的一些基本概念给出了简要的介绍,并对不同任务中使用不同类型的机器学习算法给出一点建议。
    的头像 发表于 01-15 15:55 2455次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>算法<b class='flag-5'>基本概念</b>及选用指南

    神经网络的基本概念学习课件免费下载

    本文档的主要内容详细介绍的是神经网络的基本概念学习课件免费下载。
    发表于 01-14 17:17 4次下载
    神经网络的<b class='flag-5'>基本概念学习</b>课件免费下载

    嵌入式系统基本概念(硬件篇)

    标题嵌入式系统基本概念学习(一)嵌入式系统: 硬件子系统、软件子系统。硬件子系统包括:嵌入式处理器、存储器、I/O系统、附属电路。一、嵌入式处理器:...
    发表于 10-20 17:06 17次下载
    嵌入式系统<b class='flag-5'>基本概念</b>(硬件篇)

    机器视觉基本概念学习笔记1

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 11:12 504次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>1

    机器视觉基本概念学习笔记2

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 11:13 743次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>2

    机器视觉基本概念学习笔记3

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 11:20 642次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>3

    机器视觉基本概念学习笔记4

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 11:21 309次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>4

    机器视觉基本概念学习笔记5

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 11:41 818次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>5

    机器视觉基本概念学习笔记6

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 12:19 572次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>6

    机器视觉基本概念学习笔记7

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 12:19 571次阅读

    机器视觉基本概念学习笔记8

    机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器
    的头像 发表于 02-08 13:48 293次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>基本概念学习</b><b class='flag-5'>笔记</b>8