HALCON手册简体中文版_第1页
HALCON手册简体中文版_第2页
HALCON手册简体中文版_第3页
HALCON手册简体中文版_第4页
HALCON手册简体中文版_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 HALCON恭喜诸位。您采用了这套在产品研发,研究以及教育方面都有顶尖表现的影像分析软件。HALON可在UNI,NT/00/p等等平台下作业它独特的Lbay提供了千余个为影像分析作业,数据可视化,除错等等功能所设计的运算符,用户可以利用它的功能以C及等程序语言自行撰写图像处理程序。此外,HALON亦支持WndosT/2000/P下的COM接口,所以您也可以透过sualBasic使用它,使得系统的整合更为容易。HALON的设计使得影像区边以等值线的处理上更方优化的算法让这套软件在一般的硬件上也有很好的指令周期。HALON包含了名为eeop的程序设计界减少了设计软件所花的时还有一个好用的联机帮助,您可以查到关于HALON运算符间功能相近的替代者,可能的变化,以及交互的参考。HALON从6.0版开始提供两个版本,除了标准版外,还有支持平行运算的aaelHALON,可使用多PU的机器,提高指令周期。以下是HALON特点的说明1.1HLCON强化的opreatorlibrary提供有效率又有弹性的图像处理功能,简化了影像程序的设计。ALONopeatorbay有千余个运算符。所有的HALON应用程序像是eeop和HALONC+程序皆是利用这个bay来工作。这些运算符功能广泛,包含了简单的读取影像,到复杂的像是Kaman滤波等。基本上这些运算符各有其单一功能,而非包含了各种运算,因此一个影像分析功能是由好几个运算符组成的,所以其弹性远大于由少数而复杂的运算符组成的分析程序。特化而复杂的运算符往往只适用于某些工作甚至于影像,应用范围狭窄。相对于这种窘境,HALON运算符却能任意组合来完成工作。众多的运算符中,有些是以不同的算法来达到相同的功能,例如只需要粗略定位时,可用fast_match来作最快的运算,需要精确定位时,用best_match,以较多的时间来求得最准确结果。HLCON可处理彩色及多频道影像可用于计算的影像数包含二值化影彩或是多频在使用上并无差别。多频道影像是以多镜头系统取得的影像数据。HLCON提供了快速有效率的region处理计算除了使计算更容易eon尺寸无限甚至于可以重而eion数据经过最佳的码处理,在内存中所占的资源极少。HLCON可做ROI的计算每个影像中的物体都可由用户自行定义其eo,接着再由运算符进行计算时就可以只针对定义区域作处理,因此可以集中运算资源和速度,达到最好的效率。HLCON提供了快速的attern匹配计算aten匹配在许多用上是很有用但是却很花时ALN有许多不同的aten演算法,可以让您自行决定何时使用。HALON提供了形状导向shapebased的匹配计算,使得物体有重迭或是旋转杂置的状况下仍可计算。除了atten匹配外,形状导向的运算符可以在物体有缩放,照明改变,旋转或重迭等等情况下仍旧能辨认出物从6.1版开还有一个辅助工具HMatchI透过简易的设定即可用来测试匹配执行的效率,藉由参数的调整让您找出最佳的设定值,达到最快的计算速度。HLCON提供了方便有效的tuple功能tupes是一种很有用功使您处理影区参数等等数据集合时更为便HALON的tupes可以将相关据整合成一个对用户可以针对单一或多个tupes作处您就不必为一个tupe中有多少元素要处理而烦恼,只要将指定的tupe丢给运算符,HALON就会处理tupe中所有要计算的元素。HLCON在影像和数据管理上效率卓著HALON有个快速有效率的内存管理核心,这个机制提供了数据的读写,还有溢位的检查。为了提高效率,共享的影像数据不会在内存中重复。HLCON支持C,以及COM的程序设计您可以在自己撰写的和COM程序中使用HALON运算完成一个独立的程序。HLCON的HDeelop工具帮助您发展影像分析程序撰写影像分析程序通常是旷日费为了帮助设计人员找出合适的运算符及参HALON发展出一套工具程序eeop。它如帮助您呢?首先eeop有一个图形接口,要使用的运算符和要分析的影像一目了然,运算符可以自行组合,计算成果实时显示在影像中,可以帮助使用者了解不同运算符和参数对计算的影响。同时它也会提出一些运算符或参数的建议,在线辅助除了解释运算符如何工作外,还有范例的说明。当您觉得计算成果满意可以把设计好的成果存成eeop的专用档下次可再叫,或者是将其输出成C,或COM的程序代码,可供其他程序套用,就像自行撰写的程序一样。HLCON可连接40余种影像撷取设备目前支持的设备列表在HYPERLINK,要连接取像设备,只要用运算符open_fameabber,给予格式或撷取模式等参数,再来用运算符ab_mae即可取得影像。HLCON可以让您自行新增取像设备如果您用的取像设备HALON尚未支可以利用专用接口连HALON有个开的接口,配合一些程序代码,就可以和HALON连接,相关的说明请参考FameGabberInteatonPoamme'sanual。1.2可执行N的操作系统下表说明了可执行HALON的操作系统OperaingSsemProcessorCompilerWndosT4.0/2000/PcompatbetoIntelPentumSVsualStudo3Lnux2.2/2.4compatbetoIntelPentumcc2.95Solaris7SPARCCC5.2IRIX6.5IPSCCTu64IX5.1Aphacx可执行HALON的操作系统一览表请注在Lnux下需要b6b2.1.这是在大部分的Lnux系统像是edat或u下需要的,请参考相关文件。HLCON也可以在PhilisriediaDSP上执行,主计算机需安装T/2000/P,这部分请参考HALCON/C之se'sanua。1.3ParallelHLCON简介简单的标准版的HALON是在单处理器的计算机上执行单线程计在NT/2000/XP,LnuSoaHALON是theadsf就是可以做多绪执不过所有的运算符执行时都是独一的,所以线程间必须要互相等待。相对来说,ParallelHALON支持平行运算,是theadsafe以及eentant,也就是不同的线程可以同时呼叫同一个运算符,可使用的操作系统包含NT/00/P,Lnu,Soas。除了平行运算外,ParallelHALON在多处理器的系统上,会自动将运算符作平行化,旧的HALON也有此功能,像是eeop这个接口,所以您开发的,C,不必再做更动。平行化的机制是将要处理的数据,例如影像,由不同的处理器上执行不同的线程所谓的daaaaem例一张影像的滤波运在一个四处理器的计算机上执行计算工作会被分成四份,由四个线程负责,每个线程都是做相同的滤波计算。由于待处理的影像在系统中不必复制,因此HALON的这种设计构想可以达到最好的效率。至于平行化或数据分配的的程度可以实时掌控,以免造成反效果,例如一张很小的影像,又要将数据分散处理反而会浪费时间,此外,不是所有的运算符做平行化都能提高效率。此aaelALN是用于内存共享的系统像是典型的多PU主板这样不同的线程才能共享一个HALON数据库,同时也不必再复制影像而造成占用内存。这样一来有些系统是不适合执行HALON像是cluster式的工作站或是一些不提供共享记忆体的系统。ParallelHALON也不提供COM接口,包含平行化机制和eentant,这是因为撰写COM的主要工具,cosoft的 sualBasic,尚未有效支持多绪执行之故。1.4其他数据下列的手册提供了各种参考数据HDeelopUser'sManual介绍与HALON核心功能链接的图形用户接口eeop。HLCON/C+User'sanual如何在您写的程序中使用HALONlibrar。HLCON/CUser'sanual如何在您写的C程序中使用HALONlibrar。HLCON/COMUser'sanual如何在您写的COM程序中使用HALONlibrar,例如使用sualBasic。ExensionPackageProgrammer'sanual如何自己设计一个运算符,并将其整合到HALON中。FrameGrabberIntegraionProgrammer'sManual。如何将一个新的取像设备加入HALON的系统中。(更新到8.0后这个手册就没有了,改为imageacquire)HLCON/HDeelop,HLCON/C++,HLCON/C,HLCON/COM所有HALON运算符的参考手册。pplicaionGuide这是几份各自独立的文件,即所谓的Appcatonote,是以工业视觉应用的观点来写的,主要是说明一些计算方式的关键以及使用时的注意事项以及要诀等等。例如以型状导向匹配来寻找物体等等。在Vec的网站上所有的参考手册都有PF檔及TL文件可以下载,网址为HYPERLINK第二章安装,授权以及设定在未说明安装及设定方法前,先来看看不同版本及授权的相关说明HALON有三种版本1.demo版,含Eeop以及完整的图像处理功能,但是有一些限制,例如不能连接取像设备,也少了程序设计界面,这个版本可让您测试HALON运算符的所有功能而无时间限制。2.完整让您可以用HALON的功能发展程除了eeop还包含了所有取像功能,C,,COM之接口,还有EtensonacaeInteface,您可以整合自定义的运算子或是新的取像设备。3.如果您用HALON的功能写好程序,您可以得到一个runimeersion,包含了程序中需要的功能,这个版本就不包含eeop。使用完整版或untme需要不同的授权而dmo版可以不户许可证授权使用方式说明如下1.odeockedcense用于固定地址的计算机或机器2.完整版上也可以用所谓的fatngces在局域网络中特定地址的机器可以使一个censeseer会检查执行的HALON程序数量。至于作为censeseer的机器并非要真如一般的serer般庞大,或是一定要是某种serer系像是WnosNTsee它可以是一台Lnux或是Soas工作然后在其他的电脑安装WdosT/000/P等以执行HALCO只要在HALON执行时能和这个server连接就可以了。如果是为了估价的目的,您可以用一个免费的tempoaycense。2.1安装以下说明如何由D安装HALON,由网络安装的方法在网址HYPERLINK有说明。名为eease_note.html的档案有HALON的最新消息。除了UNIX的系统外,档案路径和环境变量是以Wndos式的写法表示,例如%ALOOOT%\eampes\etenson_ackae\haconuser请参考2.4节的说明若是在UNIX系统下,写法就变成$ALOOOT/eampes/etenson_ackae/haconuser注意如果要安装大改版的新版HALO例如60或6.1版等就须先将旧版卸载这在Wndos下尤其重要,因为必须要清除旧版在ety的纪录。移除方法请看2.2节。有个例外是Actesonoos1.0到1.3版想安装ALO6.1版,这时就要保留旧版的ALON6.0.。如果只是小改版的更像是6.01升级成60.2有个特别的新方在2.13节说明。2.1.1 在indowsNT/2000/XP下的安装将D置入机器,就会启动一个安装程序,若没有自动执行,可在一个叫nt86的目录下,执行一个名为Setup.ee的程序,当然,您必须要有Admnistrator的权限。首程序会先检查系统资源是否足够安再来会检查是否已安装了HALO如果安装了相同的版本,程序会检查已安装的部分,再让您安装新增加的东西。若是已安装了不同版本的HALON,会问您要不要保留,至于如何在不同版本间切换,在2.1.5节有说明。安装程序同时也会检查是否有安装Actesonoos,还有它的版本是否和目前要安装的HALON兼容。请参考2.1.5节)这些检查都结束后,安装精灵会要您选择安装版本如下omat,Custom,pcal)FullHALONersionuntmeuntmeesonemodemo版的hdeeop_demo.ee一些额外的东西可以日后再安装,一样将D置入执行,再选择您要的部分即可。再如果您要用do安装程序会问您是否安装驱动程2.35节有驱动程序的说明,以及如何自行安装而不透过HALON的安装程序。接着,程序会问您这台计算机是不是要当成foatngcensesee,这样会安装名为censemanaerdaemon,来管理您的foatnglicensfatngcene的用户只要在一台计算机上安装这个程序即可当作censeserver。请参考2.3.4节。2.1.2在UNIX下的安装您要先mountD,例如 /cdrom,通常您要有oot的权限才能作这个动作,而在大部分的系统下,D会被mount成 /etc/fsab,不能在此执行程序,所以要改成 mount/de/cdom/cdom要安装启动D主目录下的shellscript"nsall-un会问您HALON要装在接着环境变量HALONROOT也要设成安装的目录参考2.4.2节,再来会问您HALON的附加部分要装在何处。由于在D上是只读的,如果您是以一般使用者来安装,在权限改变时会出现警告讯息,而某些系统上会出现文件名长度超过32字符的讯息。接会检查您的系统是否足够安安装完成后有几个环境变量要设HALON才工作。请参考2.4.2节)2.1.3更新HALON小改版的更新有一个特别的方例如从6.0或.01更新到6.0更新方法参考MVec's的下载区 HYPERLINK关于ALON6.0.2版的特别说明从6.0.2版开始,HALON要用新的done驱动程序来自GLOBEtotte,但是更新方法中并无解除旧版的驱动程序以及新版的安装,所以HALON会出现"censenotfound"或类似的错误讯息,因此您要用节的方法自行将旧的驱动程序移除。2.1.4LON系统里的各种档案以及目录以下说明了安装目录%HALCONROOT%下的各种子目录以及档案内容,不过随着安装选项的不同,有些目录不会出现。FLEXlm包含检查license的程序binHALCON的主程序,像是eeop,或是LL檔,fameabber的baes等等。doc\df PF说明文件examples 其中的子目录包含各类范例,例如appcaton_ude,配合C,,dephi之程序设计,f_nteaton(影像撷取接口,etenson_ackae,hdeeop之使用,MF,VB等等之范例。注意,最好不要直接使用这些范例,因为在大部分的作业平台下,只有安装者可以修改或储存这些范例,也不是所有用户都可以在范例的目录下新增储存东西。所以最好是自行复制一份到自己的工作目录下。images各种工作所用的影像include给C/C+程序使用的headerlibHALCON的baes,包含和各种取像设备相连接的驱动程序。在Wndos下扩展名为.lib,UNIX下则为.so)license 授权数据文件要放在这里2.1.5不同HLCON版本间的切换您可以同时安装不同版本的HALON在同一台计算机在 WnsT/2000/安时要修改相关的环境变量,像是%T%,%HALCONROOT%,%ALOIAGES%,以及自设的像是%ALOETESIOS%,这部分请参考2.4.1节。如果您使用HALON的COM接就要对专用的LL檔hacn.dl做eete例,开一个OSshe后进到bn\56nt4录下您的旧版HALON先做uneste是在命令提示符号下键入es32/uhacon.dl然后到您的新版HALON相对应的目录下,将 hacon.dl做resteres32hacon.dl在UNIX要转换不同的HALON版则要修改相关环境变像是$ALCONRO,$ALCONIMAGES,$TH,$L_LIBA_TH等等。2.1.6给ctiisionools用户的信息Actesonoos1.0到2.0版是以ALO6.0版或6.0.1为基础的,所以要是装了HALON 6.1版,将会使得Actsonoos无法使用,所以ALON6.1的安装程序会检查是否在计算机上已有安装Actsonoos,如果侦测到安装了Actsonoos2.0版,它会提供一个新的,和ALON6.1版相容的OXActVoos.oc。一般来说这是您该做的选您也可以事后手动修正如开一个OSshe到您安装Actiisionoos目下的bn\586nt4目录下,对旧的ocx做unest,键入es32/uActVoos.ocx然后将其删除,或是改名,换成新的oc,这在D中的msc\586nt4\at20.下可以找到,然后键入es32ActVoos.ocx即完成更新注意,和Acono2.0不同的1.0到1.3版不能和ALO6.1版一起使用因为没有兼容的oc,如果ALO6.1版的安装程序发现计算机上安装了Actiisionoos,像是1.3它会警告您续安装会使得现存的Actsonoos无法若您还想使您就得保留旧有的ALO6.0.同时用2.15的方法来转换版如果只是要评估试用新,建议您安装试用版,这样就不必再eter COM接口的bayhacon.dl。2.2卸载2.2.1indowsNT/2000/XP在Wndos下有几种卸载的方式不过某些旧版的HALON不一定适用)1.在控制台下,选择 新增/移除 程序。2.若您用的是ALON5.1以后的版本,从 开始程序集VecALOnnsalHALON来卸载。3.从5.2版起,安装程序会检查机器上是否已有安装旧版,然后您可以利用安装程序来解除旧版的安装。这是比较好的方法,这样可以避免路径的变量发生问题。以上是标准的卸载法,如果遇到问题,请参考6.5.2节。注意,卸载会真的删除安装的档案,不过不会删除用户设定的数据,也就是et中,像是和eeop有关的一些自定数据不会被删除,保留在HKE_CURRENT_SE>SoftaeMVeHalcon下。这里可以自行手动删除,不会出问题。卸载也不会移除done的驱动程序,要移除的话请参考2.3.5节的说明。关于6.0.2版的特别说明从这个版本开始需要一个新的done驱动由于卸载不会移除旧有的驱动程所以无法安装6.02版需的新的驱动程所以在用程序进行卸载旧版的ALCON前,要先以手动移除其驱动程序,请参考节。2.2.2在UNIX下卸载只要将HALON所在的安装目录移除即可mf$ALOOOT再移除子目录 .heo这是位在环境变量HOME所定义的目录之下参考2.4.2节),eeop是以这个目录来储存窗口位置,选项数据等。卸载不会删除任何用户自定数据,因此环境变量也不会改变,要删除或修改时就要自行手动处理。如果您呼叫了PaaelALON6.0ba的peatorhecka_h_poental来做初始动作,取得的资料会存在一 .hacoa_fo文件中,置于环境变量HOME所指定的目录下。2.3授权HALON透过 FLEmcensemanaer来确认用户的授权数据,以下说明取得授权码及其安装方式。要取得授权先要取得欲安装HALON计算机之辨识数送至代理商(新亚洲仪器公司),若使用的是untmecense,则请告知欲安装的模块。请参考2.3.2)在您收到licensefile之后,请参考2.3.2节的方法来安装。foatngcense的使用者请参考2.3.4节来安装。2.3.4取得辨识资料取得辨识数据是由您计算机上安装的网络卡,若您的操作系统为 T/2000/P,处理器为PentmI则能取所谓的CPUI在WndosT/00/P也可以用一个don,只要有don就可在其他计算机上执这样就不必限定在某台计算机上使而且适用于nodeocked或是foatngcense之使用者。详细说明请参考2.3.5节。用HDeelop取得辨识资料用deo版的eeop来取得辨识数据是最简单的方在主选单epAbo会出现如下的一个窗最底下的数据就是关于您这部计算机的数像是网络卡卡CPUIdonle号码等。如果发生问题,既有的设备数据找不到,例如有网络卡而侦测不到,请参考6.5.3来排除问题。 用lmhostid来取得资料mhostd是随着FLElm的软在Wdos操作系统由DOS下执在UNIX系统中,则要切换目录,$ALTm下,再到对应您的硬设备的目录下例如586Lnu2.2)执行之。要辨认一台计算机的网络卡号,键入lmhostid-etherWndos系统下的输出画面例子如下>lmhostidthrlmhostid-Copriht(C)1989-2000GlobetrotterSoftware,nc.TheEXlmhostDofthismachineis00e02958e36a"请将 I,就是上面例中的"00e02958e36a"以及计算机的hostname一起送给代理商。如果mhostd回传f,请依照节的方法来处理。要辨认CPUI,键入lmhostid–cpu64>lmhostid-cpu64lmhostid-Copriht(C)1989-2000GlobetrotterSoftware,nc.TheEXlmhostDofthismachineis0003-C1DE-01C3-E79"如果mhostd回传"",则可能是因为在BIOS中CPUID的选项关了,可在重新启动时将其开启。要检查doneI(限于WndosT/2000/P),则键入 lmhostid-flexid会得到如下例之输出>lhostidflexidlhostid-Copriht(C)19892000GlobetrotterSoftware,nc.TheFLEXlmhostDofthisachineis"FLEX=736c79bd7"注意,此时序号会写入done中2.3.2unimelicense和HLCON的模块HALON之运算符可分类成不同的模像是 "Bascpeaos或是"Iae/eon/Dmaaeen用于有HALON之功特别的像是"BackoudEstato"1Darodeeade"之类的,只用于特定的程序。使用untme版时可以只包含您需要的模块。您的程序中用到了那些模块,有两种方式来检查。在eeop下执行的程序,可由选单下,,然后会出现一个如下图的窗口,其中就有使用到的模块名然后按"Sae即可将这些纪录存成 .md放在目前的工作目录下。由 C,,COM所写成的应用程序,则需在程序结尾加入运算符et_moduas。然后将确定需要的模块名称送到代理商。图例 您使用到的模块2.3.3安装licenseile要使用HALON就要安装licensefil这档案必须放在%HALCONROOT%\license下,档名需为cense.dat,如果是用foatongcense,您必须将这个档案复制到所有已安装HALON的计算机上,包括作为censeeer的计算机。以下例子是一个nodeockedcensefe的内容。#############################MVTec(D:0080c77161e2)#############################EATUREMVTec_Halconmvtecd6.1permanent0C1737961326957A8\VENDOR_STRNG=65535HOSTD=0080c77161e2ck=23EATUREMVTec_HDevelopmvtecd6.1permanent0CC2793893566E1D6363\VENDOR_STRNG=65535HOSTD=0080c77161e2ck=32图例 nodeockedcense,限用于某台计算机您可以看到,档案中"FETE"接着HALON的版本名称,而license是向下兼容的,举例来说,6.1版的license亦可以用于6.0版。同时,向上亦可用于小改版的升级,例如6.1版的license可用于6.1.x版。##################################MVTec(D:FLEX=7b285ff7f)##################################FEATUREMVTec_Halcontecd6.1peranent03C574319\VENDOR_STNG=65535HOSTD=FLEX=7b285ff7fc=35FEATUREMVTec_HDeeloptecd6.1peranent07C772379E2D066930D10\VENDOR_STNG=65535HOSTD=FLEX=7b285ff7fc=245图例 nodeockeddeeopmentcense,限用于特定done##################################MVTec(D:FLEX=7b285ff7f)##################################FEATUREMVTec_Halcontecd6.1peranent03C574319\VENDOR_STNG=65535HOSTD=FLEX=7b285ff7fc=35图例 nodeockeduntmecense,限用于特定done2.3.4 floatinglicense之使用在之前的介绍中已有概略的介绍,首先,要有一台计算机当成censeee,安装一个名为censeaaerdaon的程序来检查网中执行HALON之计算机之数再licesefe要opy到所有安装HALON之计而且也要copy到作为lcenseeer的计算机上参考。接着来看看一个典型的fatngcens"VE"告诉FLElm作licenseserer计算机的名称,这个例子里,就是 haconsee。还有网络卡号,以及potnumbe27000)。#############################MVTec(D:0080c77161e2)#############################SERVERhalconserer0080c77161e227000DAEMONtecdC:Prora~1MVTecHalconFLEXli586nt4tecdFEATUREMVTec_Halcontecd6.1peranent24C72DB2EC0F315624FAE\VENDOR_STNG=16383c=97图例 foatnguntmecense的内容限用于某台计算机)某些情况下您可会想改变计算机的hosta例如您用的是doneoudcens基于些需要想把done换到网络中另一台计算机上,或是您用限用于某网络卡的license,而您想把网络卡移到另一台计算机上。您也可能会需要更改使用的pot,例如默认的pot已被网络中某软占用,但是要注意的,大部分的计算机中,pot number小于1024的,只有特定权限的使用者能更改。当您在网络中任一台计算机执行HALONlicensefile中"SE"后接着的数诸如hostname和potnumber等等,是用于让程序寻找联系censesee,而在作为licenseserer的计算机potnae是作为启动cesemnaerdeon的依所以在计算机中,所有复制的档案内容必须相同。在您做为censeseer的计算机可能会需要修改damn的录mtec这目录通常如下%HALCONROOT%\FLElm\%ARCHITECTURE%\mtecd关于环境变量ARCHITECTURE请看2.4节)由于licensefile中没环境变量数所以这个目录要自己新由于目录字符串中含有空白字符时会造成HALON的问题,所以当您将HALON装在像是c:\poamFiles\MVec\Halcon下时,路径字符串应改为c:\poa1\Vec\acon。最后一点,censemanaerdaemon必须在开机时启动。在indowsNT/2000/XP下安装licensemanagerdaemon在Wndos下,可以由安装程序来安装,然后他就会在重新启动以后自动启动,当然您也可以自行手动安装,这要在DOS下键入这是一整串指令)"%HALCONROOT%FLEXli586nt4installs"n"HALCONLicenses"c"%T%licenselicenseat"l"%T%licenselicensel"e"%HALCONROOT%FLEXli586nt4lrd.exe"%HALCONROOT%是安装的目在Wnos安装好后必须重开如果安装成,一个称为HALON的serice会出现在控制面板下的系统管理工具的"服务"中出现。要移除scensemanaerdaemon,键入如下之指令"%ALOOOT%\FLEm\58nt4\nsas"rn"ALONLcenses"在UNIX下安装licensemanagerdaemon在UNIX下,这个程序md必须放在适当的启动档中,像是/etc/init.d/boot.local或/sbn/nt.d/boot.oca,诸如此类。这部分请参考您使用的操作系统手册。在这个档案中加入下面一整行要有md的目录)/etc/mdc$ALOOOT/cense/cense.dat>$ALOOOT/cense/cense.og2&1&注意,md要由oot启动,否则不能正常的作业。重新启动licensemanagerdaemon如果您换了一个foatngcense,就要将daemon重新启动。方法之一是重新启动计算机,如果您有管理者的权限,也可以用手动方式新启动。在Wndos下,您只要在系统管理工具下的"服务"中,将"ALONLcense"这个服务重新启动即可。在UNIX您可以终止md这个poces然后再重新启启动的指令就是2.34.2节中,加入启动档的那一行。2.3.5使用dongledone只有在ndos下才能使从6.2版还提供了连接SB的don连接印表机埠的done,其ID是以"FLEI6"或"FLEI7"开始,而SBdone的ID是以"FLEI9"起。连接并行端口的dongle就像2.11节所叙述您可以让HALON安装驱动程要检查安装是否成可由装置管理员来检视是否有一个叫sentnel的设备。HALON也有一个辅助程序让您可以自行安装,设定,或是移除驱动程序。进到DOS下,切换到%ALOOOT%\LEm\68n\fed67\n_nt目录下,执行setup86ee。要安装驱动程在主选单下选 Functonsnsa然后重新启动然后用上述的检查方法应该可以看到该项设要注意的您必须要有Admnistatr的权限才能安装驱动程式。如果您没有权限,程序会也安装,并告诉您安装完成,而实际上无法作用。要是计算机上有多个aaelpot,则还要再调整驱动程序。HALON的卸载程序并不会移除这个驱动程序因为其他程序有可能用到但是却会把这个安装程序移所以如果您要移除这个done驱动程就要在您将HALON解除安装之前完成。这个安装程序是在D的FLEm\586nt4\fed67\n_nt,有需要时可再叫用。关于6.0.2版的特别消息如同在2.13以及2.1节所叙述的注意事为避免出问建议以如下之程序进行安装。手动方式解除旧的驱动程序。用到的程序是setup86.ee,位于%ALOOOT%\FLEm\586nt4\done下。再来就有两个方式可以安装ALON6.0.2。用2.2.1节的方法来移除旧版的HALON,然后将6.0.2版和新的驱动程序一起安装。用2.1.3节的更新方法,也就是手动更新,用到的程序setup86.ee位在%ALOOOT%\FLEm\568nt4\fed67\n_nt下。如果您在移除旧版的驱动程序前先移除了旧版的HALO这个sep86.ee也会被删,但是它是位在D中FLEm\586nt4\done下,若您没有D,建议您重新安装旧版的HALON。USBdongle如同2.11所需的驱动程序可在HALON安装时一起安安装是否成可由装置管理员中查看是否有新增以下两项装置 Hardlock以及ASP。随者操作系统的不同,您也可以用一个HALON随附的辅助程序来修改,设定,移除驱动程切换到DOS切换到目录%ALOOOT%\FEm\56nt4fed有个程序hnsa.ee,有下列指令可供显示,安装,移除等等。hnsal 显示如何使用hnsalhnsalnfo 显使驱动程序的状态hnsalnsal 安装驱动程序hnsalemoe移除驱动程序当然,必须要有Admnistrator的权限才能安装。由于HALON的卸载程序不会移除doe的驱动程但是会将安装程序hnsa.ee移所以若是要移除这个驱动程就要在卸载HALON前进原始的程序在CD中的位置位于FLEm\586nt4\fed9。2.4 设定HALON需要设定的东西大部分都是环境变例如放置影放置etensonackae的目录等要使用ParallelHALON每一台分担计算的计算机上都要做初始化nitialize),这部分会在5.1.1说明。2.4.1 indowsNT/2000/XP下的设定。安装程序Setup.ee执行时会自动设定这些环境变量,像是%HALCONROOT%等,要查看变量的内容,可用控制面板下的"系统"中查看,或是修改,新增变量内容。若是变量内容含有不只一个项目,例如%T%可能含有数个目录,此时各个目录间就要以分号";"区隔。此外,要在安装时同时修改建立这些变量,必须要有Admnistrator的权限。HLCONROOT这是最重要的环境变量,指出了HALON安装的目录。典型的变量内容内容像是C:\ProgramFiles\MVec\Halcon。根据这个变量,HALON得以到以下的子目录中寻找资料。LCONROOT\help运算符的数据库位于此处。由HALON来存取有关运算符的资料。LOOOT\doc\hml\reerence\hdeelop在线辅助说明,只要有一个浏览器就可以阅读其内容。LCONROOT\lut使用者自定义之ookupabe。LCONROOT\ocr存放了tanedfons。LCONROOT\licensecenseKEY置于此,也就是cense.dat檔。LCONROOT\images系统中没有HALCONIAGES这个变数时,HALON会到这个目录找寻影像。HLCONIGES这是告诉系统影像数据存放的地方,其中可以包含数个目录,但是要记得用分号区隔之。RCHITECTUREHALON用这个变量来区别操作系统,在Wndos下,%ARCHITECTURE%即是设成586nt4。这个变量同时会在好几个地方出像是HALON的程hdeeop.ehacn.dl等,是置于%ALOOOT%\bn\586nt4下,要nk程序用的bay像是hacon.b,位在%ALOOOT%\b\586nt4下。LOEXTESIOS这个变量含的目录,是用户自定义的运算符所在位置所谓的etensonackaes),每个ackae中含有数个运算符,linked到一个共享的ba。还有一些说明文件,像是运算符的hep,以及TL檔。安装etensonackae请看2.5节的安装方法。LOSPY如果在启动HALON前,系统中已有ALOSPY这个变数,那么在HALON启动时,一个工具程序HALONpy也会启由运算符set_spy也可以将其启动参数为"mode","on",两种启动方法的差异在于,有了%ALOSP%这个变就可以监看一个linked好的HALON程而不必再去修改。相关设定请参考6.4节。TH安装%ALOOOT%bn\86n4和ALOOOT\FLm\586n4会被加到TH中。2.4.2IX下的设定在UNIX不同的shells设定环境变量的指令各不相例如setnv<aabe<alue>,epotarabe<alue这部分请参考您的操作系统说如果变量内容不只一个项,请用冒号区隔。下表列出了HALONlibrary和eeop要用到的环境变量列表。最好把这些指令加在一个onpt或是shellresourcescript中,例如.cshrc或是.profile里。HLCONROOT这是最重要的环境变量,指出了HALON安装的目录。典型的变量内容内容像是/us/local/alcon/us/halc根据这个变HALON得以到以下的子目录中寻找数。$HLCONROOT\help运算符的数据库位于此处。由HALON来存取有关运算符的资料。$LOOOT\doc\hml\reerence\hdeelop在线辅助说明,只要有一个浏览器就可以阅读其内容。$HLCONROOT\lut使用者自定义之ookupabe。$HLCONROOT\ocr存放了tanedfons。$LOOOT\licensecenseKEY置于此,也就是cense.dat檔。$LOOOT\images系统中没有HALCONIAGES这个变数时,HALON会到这个目录找寻影像。HLCONIGES这是告诉系统影像数据存放的地方,其中可以包含数个目录,但是要记得UNIX下要用冒号区隔之。RCHITECTURE这个变量以一个简写表示了所用的处理器以及操作系统版本。例如586nu2.2,或是sarc-sun-solaris7。ARCHITECTURE会出现在好几个地方,像是程序hdeeop位在$ALCONROT/bin/$ARCHITETUR把$ALCONROT/bin/$ARCHITETURE加到TH变量中,在使用shellscript时很好用。Shaedbay位于$ALCONROOT/lib/$ARCHITECTURE下。下表为目前支持的作业平台以及对应的ARCHITECTURE内容。ARCHITETUREOperatingSystem(Platform)i586-linux2.2Linux2.2/2.4onIntelPentium(orcompatible)sparc-sun-solaris7Solaris7onSparcWorkstationsmipssiiix6.5IRIX6.5onSGIWorkstations(Mipsprocessors)alpha-compaq-osf5.1Tru64UNIX5.15onAlphaprocessorsTH如果想要在任一个目录都可以启动eeop,就必须将HALON的目录$ALCONROOT/bin/$ARCHITECTURE加进环境变量TH中。LD_LIBR_TH请将HALONlibrary的目录$ALCONROOT/lib/$ARCHITECTURE加到L_LIBA_TH这个环境变量之中。设好以后,eeop和开发的独立的程序才能使用。LOEXTESIOS包含一些使用者自定义的运算符所谓的ackae)所在的目录,每个ackae中含有数个运算子,linked到一个共的ba。还有一些说明文件,像是运算符的hep,以及TL檔。安装etensonackae请看2.5节的安装方法。详细方法请参考EtensonackaePoamme'sanual。LOSPY如果在启动HALON前,系统中已有ALOSPY这个变数,那么在HALON启动时,一个工具程序HALONpy也会启由运算符set_spy也可以将其启动参数为"mode","o"两种启动方法的差异在有了$ALOSPY这个变就可以监看一个linked好的HALON程序,而不必再去修改。相关设定请参考6.4节ISPLY系统以这个变量来显示窗口,和其他的X窗口程序一样。HOME在PaaelALON6.0bea中,做初始化的运算符check_a_h_potental会将取得的主机数据存于$OE.hacon_a_nfo。2.5整合HLCONExtensionPackageHALON的EtensonPackaeInteface可以让您将自行开发的计算法和HALON整合在一成为所谓的etensnackae前可以使用的acae项目可由eeop之选单 epALONesWWW),连结到Vec的网站来取得资料。2.5.1 安装Exensionackage先将这些ackae移到%HALCONROT%目录下,解压缩,再来,将完整的目录%ALOOOT%\ackaes\haconuser加到环境变量 HALONETENSONS 中。注意,ackae的名称,以及其中所含的bay或l档的名称都不可以更改。否则会无法用使用。如果acae中含有影例如说含有一些范例影像您要使可以将其影像所在的目录加入环境变量之中ALOIAGES,要使用这些影像时就不必再输入完整的路径。2.5.2在HDeelop中使用ExensionPackage在eeop下要使用新的ackae时,只要将程序重新启动,就会自动整合位于HALCONETENSIONS所载目录中的ackaes。各种新增的运算符在使用上和HALON原有者并无二致。在Lnux必须在您启动eeop将acaebay所在的子目录b/586nu22加入环境变量L_LIBA_TH中。2.5.3 在一个独立的程序中使用ExensionPackage您必须在程序代码中将这些ackaeba像是Wndos下的l,UNIX下的shaedbank进来。在indowsNT/2000/XP中使用ExensionPackage如果要用C或写新的程要将acec.b或ackaeppb连到您的obj然基本的ba,像是haconc.b或是haconcpp.b也要nk进来。要能nk这些l,系统的环境变量TH就要含有完整的路径像是%ALOOOT%\ackaes\haconuse\bn\586nt4此外,不要把这些l文件复制到Wndos的系统目录下,否则执行时会被重复加载。在Linux中使用ExensionPackage如果要用C或写新的程,要将bakae.so或libackac.so或libackaecpso等档案nk起当然基本的ba像是lbhaco.so或是banbaconpp.o等等也要nk进来。要能使用这些LIBA,系统的环境变量L_LIBA_TH就要含有完整的路径像是b/586Lnu.3在Solaris中使用ExensionPackage如果要用C或写新的程,要将bakae.so或libackac.so或libackaecpso等档案nk起当然基本的ba像是lbhaco.so或是banbaconpp.o等等也要nk进来。要能使用这些LIBA,系统的环境变量L_LIBA_TH就要含有完整的路径像是lib/sparc-sunsolaris在IRIX中使用ExtensionPackage如果要用C或写新的程要将bakae.so或libackac.so等档案nk起当然基本的ba像是lbhaco.so或是baconcbhaoncpso等等也要nk进。要能使用这些LIBA,系统的环境变量L_LIBA_TH就要含有完整的路径像是lib/mips-sgi-iri.5在ru64UNIXDIGILUNIX中使用ExensionPackage如果要用C或写新的程要将bakae.so或libackac.so等档案nk起当然基本的ba像是lbhaco.so或是baconcbhaoncpso等等也要nk进。要能使用这些LIBA,系统的环境变量L_LIBA_TH就要含有完整的路径像是b/aphacomaosf5.1第三章对HDevelop的初步认识本章是入门使用者必须熟悉的章,将介绍如何从头开始处理一个影像分析问,在范例中会介绍HDeelop重要的功能,让您逐渐习惯它的使用接口以及掌握有效的使用方法。这个范例是属于品管领域的,目的是检查工件上的bondngbas,范例位于HALONackae的子目录下%ALOOOT%\eampes\hdeeop\anuas\Gettnated\eampe.dev范例中会介绍如何用ALONopeator建立一个eeop程序。如何找到合适的opeator以及其参数。如何使用图像及控制变量。如何使用图形窗口。如何产生ROI。如何利用型态学的方法来解决范例中的问题。如何使用atten匹配。如何使用controlstruct。仔细的读完这一章,您会熟悉eeop的各种交互式接口,让您能够自行开发自己专用的影像分析程序。图例 要分析的影像:工件上的bondngbas3.1 HDeelop的用户图形接口I。在 Wndos下,由"开始"程序集>MVecHALON>HDeelop启动,在UNIX下则是由shel中启动hdeeo程序启动后可以看到一个主画其中包含了四个窗Program,运算变影像以下是简单的介至于详细的内容请参考HDeelopUse'sManu。3.1.1主画面如下图所它整合了程序发展以及作业管理功能像是oadnsan选单以及工具栏。图例 主画面主选单主选单中包含了所有eeop的功能,如下表所列。File 加载以及储存eeop的程序,或是结束eeop之作业。Edt 编辑eeop的程序。Ecute 执行eeop的程序。suaaton自定义影像窗口外观。opeatos 子目录中含有程序结eeop之运算以及所有的HALON运算。Suestons提供选用运算符的建议。Wndos 各个窗口的管理重迭,排列,切换等)ep 开启说明档。工具栏工具栏含有一系列常用功能的快捷方式,同时掌控了eeop程序的执行。ew 删除poamndos中目前的程序。Open 开一个新的eeop程序。Sae 储存eeop程序。ut 删除程序中选起来的程序代码。opy 复制程序中选起来的程序代码。aste 贴上程序中选起来的程序代码。un 执行eeop程序。tep 执行eeop中下一个程序指令。top 终止程序的执行。tiate 使程序中选取的部分指令可被执行。Deactiate 使程序中选取的部分指令被忽略。Reset 重新启动程序并重设所有变量。setaametes 显示sualiation参数的窗口。Pelnfo 显示pelnfo窗口。Zoomng 显示实时缩放窗口。ayhstoamnfo 显示频谱数据。eonnfo 显示ROI中的各种资料。3.1.2program窗口这个窗口是用来显示一个eeoppoam。它可以显示整个程序或是某个运算符。窗口左侧是一些控制程序执行的指示符号。eeop刚启动时,可以看到一个绿色箭头的poamcounte简称P,一个插入符号,还可以设一个断点beakngpont),窗口右侧显示程序代码。3.1.3运算符窗口您所选择的运算符的重要数据会显示在这里。包含了所有的参数,各个变量的型态,以及参数数值。这里会显示参数的默认值,以及您可以选用的数值。每一个运算符都有联机帮助。另一个常用的的是变量名称的查询显示功能,在一个combobox里,只要键入部分字符串甚至开头的字母,即可显示所有符合名称的运算符供选用。3.1.4 变量窗口这个窗口显示了程序在执行时产生的各种变量。在变量上用鼠标双击之,即可显示变量值。如果变量值包含了影像数据或ROI,所谓的图像化变量,会显示在图形窗口里。3.1.5图形窗口用来显示图像化变量数据,可视化的方式可以依据您的需要来调整,相关功能位于sualiation选单下。您可以开启数个aphc窗口,并且自行选用要用的窗口。3.2编辑HDeelop程序eeop启动以就可以开始从poam窗口输逐步建您自己的eeop程。要在程序中新增一行,像是加一个运算符,有两个步骤。首先要将光标放在您要新增的地用键盘的Shft键加上的鼠标点在您要加入的地方插入符号位于窗口左侧。接下来从Opeator选单中选择,或是由运算符窗口来选用想要加入的数据。新的选好的运算符会出现在运算符窗口包含它的参数等等数此时按下Ente会将它加入程序代码中,成为新增的一行。如果您按的是OK,除了程序代码会新增以外,同时也会执行程序。如果您按的是App,运算符不会新增到程序中,但是会被执行,这样就可以方便又有效的测试修改参数的结果。如果只要执行某一行,可以将PPoamcounte)置于要执行的那行前,再用鼠标左键在该行前单击然后按eeop工具栏的te如果您按了接下来的程序代码都会执直到一个断点或是按top将其中程序代码中点一就是选择了这一双击,会将该行数据显示在运算符窗口中。程序完成可以将其储存供日后叫或是输出成+OM的程序产生一个独立的程序,在选单中as即可储存。以上叙述的这些基本操作在范例程序中会经常用到,您将有许多机会熟悉这些操作,接下来将叙述如何加载影像。3.3加载影像开始作业时,必须新增一个ALONobect来放置您的影像。取得影像的方法有数种。利用取像设备取得实时的影像由选单OpeatosImaeFameGabbe)。由现存图像文件读取由选单以及Imae。自行产生一个新影像由选单OpeatosImaeeaton)。图例 赋值运算符ead_mae之参数上例中用到运算符 ead_mae,可以从主选单Opeatos选择,或是在运算子ndow中的"Oeato"文字输入栏手键再按Ente时这个运算符应该会如上图般出第一个字段是要新增的maeobct名现在自行把它改成"e用鼠标左键在字段中单击,就可以输入。第二个字段是图像文件档名,将其改成"e3"ead_maee,"e3")这个运算符有两个参数,都指定好以后按OK,系统就会将其加进poamndow中并且执行,到此您已完成第一行程序。变量"e",包含了一个maeobect,会显示在变量视窗中,同时在这个例子里,运算符的运算结果会显示在图形窗口中。如果加载影像时发生错误,请检查环境变量是否设对。如果系统中环境变量HALCONIAGES没设,影像数据就要放在%HALCONROOT%\imaes指定的目录下。3.4 修改图形窗口由于默认的图形窗口尺寸为512*512,因此您的影像尺寸不同时,显示在屏幕上就会变形,虽然可以用鼠标拉动窗口四周来调整尺寸,但是要看到无变形的影像,最快的方法是由选单suaatonSeWnoOina即可自动调整窗由于以后的例子中要用到ndow的I,所以现在要用eeop的运算符来新增一个图形窗口,其中参数Wth和eht是窗口的大小,如果不知道确实的尺寸,就给他"-1",即是最新开启的影像大小。de_open_ndo0,0,1,1,back,WndoI),按下OK,就会产生一个新的图形窗口,同时尺寸和您的影像相符。不过这个窗口目前是黑现在它已是"Act您输入的数据就显示在上此变量窗口中双击图像变量"e",就会显示影像。默认的影像检视方式是显示像素的数组,当然也可以用其他方式来观察,例如从suaatonetameesPant 选po再来按pdat就可以看到以3D显示的ma其他各种示方式在eeopsesanual有详细说在这个范例别忘记将显示方式转回默认方式。所有的显示模式都可以由程控切换,例如显示频谱可由de_set_ant'3pot'行之。您也可以缩放影像。由选单中suaatonSetPaameter,选oom项,按上面的"Ineacte"就可用鼠标选择要放大的区用鼠标左键按住拉从放大区的左上角到右下角,放开,然后右键单击。要回复原有尺寸,在刚才的画面中按"eset"键即可。3.5产生 ROI在待处理的影像中指定一个ROI是非常有用由于只要计算指定区域内的影因此可以大幅提升效率。图例 矩形和任意形状的ROI产生ROI有几种方式矩形的ROI由选单中OpeaosGaphcsang选择 da_ecane1个运算不要修改任何参数,执行之,在程序窗口中就会新增一行,然后eeop就会等您把区域画上去,画的方法和oom的方法相画好之后变量窗口中会出现四个变ooumno2,oumn2,请看下图,接着要产生ROI做为HALON的obect,由选单中Opeatoeonseaton选用运算符 en_ecane1,此时使用的参数就是从o1到oumn2等等,输出对象的名称可以自定义为"ROI"。两个运算符使用的参数rrtg(WI,1,m2,mgen_rectange1(OI,o1,oumn1,o2,oumn2)执行这个运算符,您就产生了另一个ALONobect,也就是eon请看4.2.3节。图例 变量窗口预设的eon表示法就是用特定颜色在图形窗口中画出eon的形状。您也可以自行修改输出方像是颜线条粗细等从选单sualiation或是用 de_*.等运算符来作业,例如由sualiationColor来选颜色,suaatonLneWth来改变线宽,suaatonaw来指定画区域外围或是填满颜色。改变图形输出方法以后图形窗口都会更新,要显示变量窗口中某个图像化变量,在上面点两下即可。任意形状的ROIHALON可使用任意形状做为ROI区域。用选单OpeatosGaphcsang之a_eon,而不是用之前的画矩型的方法。da_eonOI,ndoI)为了要让程序正确运作,请把其中 da_ecane1在程序窗口中单击这一行就可以选取用Editeactiate使其不执行,同样的,en_ecane1也让它不执行。计算适合的ROI用计算来找出ROI是利用影像分析的中间结这是最有挑战变化弹性最大的部在3.8节的例子中会介绍如何找出工件上的球型物。当您产生一个ROI以后,可以用educe_doman,OpeatosImaeoman),将影像约化。其中e为输入之影像,ROI为输入之ce_domane,ROI,Imaeeduced)mean_maeImaeeduced,Imaeean,1,1_本例中输出影像名为Imaeeuc只含了ROI的部按ear键清除画然后在变量窗口中双击Imaeducd这个变量可以看到约化的效此时您可以用一些运算符对原始影像和educed影像做运算,观察在效率上的差异。例如用OpeatosFteSmoothng 中的 mean_mae,数入影像用原始影像"e"。然后再按一下ear键清除画在程序代码man_me这行上双击就可以输入参在这里把输入的影像改为Imaeeduced。要重复上列方式来观察不同ROI的差异,可以把Ppoamcounte)放在da_ecane或是da_eon看您用哪个方法再按要在某个运算符计算前中止程只要在其前面放一个BPbeakpont),按Ctrl键加上鼠标左键即可加上。3.6寻找正确的运算符上一个单元中已经做出了一个HALON对接下来要如何选用HALON的一千多个运算子呢?主要是根据所要进行的分析工作而这要依靠用户的经验以及对于影像分析领域的知虽然如HALON还是提供了一系列的方使得选择运算符更为正确而便利。图例 用"thesh"字符串来选择"theshod" 运算符如果您知道运算符名称的部分字符串,只要在运算符窗口中的文字输入栏输入,所有含有符合字符串的名字就会列在combobox中。每个HALON的运算符都有TL格式的说明,从epTL启动您预设的浏览器就可以从这里可以看到所有的影像分析模排列方式和选单中的Opeator一相关运算子间还有交错的连结可以参考。还有一个索引,包含了所有的运算符,您可以从这个索引直接跳到要找的TL数据。另外,还有一个 SuestonKeods,提供您从一些功能上的关键词,让您去找寻要用的运算窗口左边是分类的功能叙述列例如3dpoectAcs等用鼠标点一下,窗口右侧会列出相关的运算符,在左边多点几下,右侧的列表内容就会一直增加。要选用运算子时,在右边的列表中点一下,就可以切到运算符窗口来作业。选好了运算像是例子里的ead_ma就可以从opeaorknedebase中取得各类参考数据。L格式的联机帮助。在运算符窗口中按下ep,就会启动默认的浏览器来显示所有相关的说明。选单Suggestion>ltinaties在计算个过程中若是觉得结果不完全符合需求,可以从这里寻找功能类似而可能更合用的运算子。要注意的是,通常您必须在速度和精度之间做一选择,例如用速度较快的mean_mae做为某种情况下的filte,要求高质量的结果时,用auss_imae或是smooth_mae。选单SugesionsSeealso这里会列出另一类可能相关的运算符让您参例如在用ead_mae列出rte_ma。选单suggesionPredecessor许多运算符在运作时需要其他运算符提供计算参数或数据,这里会列出先相关数据,例如要用unctons_skeeton计算skeleton的交点时,要先用skeleton完成eon之中skeleton的萃取。选单SuggesionSuccessor和上一项建议相反的,某些运算符后面常常会接着一些特定的运算符做后续计算,这里会提出一些合理的运算符供您选择。到目前为止,我们的例子只是产生了一个新影像,而后续还有非常多可以选用的运算符来做各式各样的计算,我们暂且选用successor中建议的theshod来做下一步的运算。3.7找出正确的参数值当您选择了一个运算符,例如在程序代码上双击或从选单中选择,运算符以及其相关变量会出现在运算符窗口您可以自行键入所有参但是大部分的情况从combobox中选择适当的参数显然最为便利,而一些参数的默认值,是由eeop所提供。例如,从选单中Opeatosemenaton 选用theshod来处理影像,输入的影像名称由combobox中选"e",参数中的oer及uppertheshod的默认值,会使您输入的影像,以其中灰度值大于128的部分做为输出的区输出的影像名称可自行名为Bhregion。为了让输出区域显示更为明可以更改图形窗口的suaiatonod由选单或是在形窗口中右键单击,在"a"中选"F",这样就会使输出区域填上颜色颜色可由oor中选择,例如选绿色。要观察结果时,可以在图像变量区,双击"e"或是"Bhteon",影像和处理后产生的区域即可以分别显示。图例 "Bhteon"中包含了灰度值大于等于128的像元想要修改参数在程序代码上双就会出现对应的运算符窗然后您就可以修改参数。这个时候您可以按App,这个运算符会被立刻单独执行并且显示结果,这样就不必一直从头再执行一次,参数的调整达到您要的效果以后,就可以按OK,将修改部分写入poam要注意的在每次显示计算结果时要记得ear画或是将原始影像重新显示一次,以免显示计算结果的区域或线条等等累积在画面中重迭。3.8寻找ROI由影像"e"中可以发现,由于线路版的部分比较亮,因此由threshold的预设参数128及25即可产生一个理的awsemenat然后把这个区域转成一个RO做为bondngbas侦测之选用shap_tan"Bhteon"为输入区数用"ecane2找出一个包含"Bhteon"最小的平行四边型。输出的eon取名为"ROI",差不多就是电路板的大小了。再来用3.5节的方法educe_doman,把原始影像约化成包含ROI的范围。theshode,Bhteon,128,255)shape_tansBhteon,OI,'ecane2')educe_domane,OI,eOI)接下来的计算,范围就定在最后的DieROI这张影像。3.9 从型态学的方法来找球型物体观察一下"e"这张影像,您会发现这些bondngbas的部分比电路板上大部分区域还黑,因此可以再用theshod来处理一次。图例 eon"aSemenaton"包含了较黑的像元影像中免不了会有噪声而造成许多小洞或是小点,因此要用一个有适度限制条件的"填补"功能,例如 运算符 f_up_shape(在Opeatoeonsansfomaton就颇合适。thesholdDieROI,aSemenation,0,50)f_up_shapeasemenaton,Wes,'aea',1,100)此时,您可以在图像上点两下,比较Wes以及aSemenaton这两个变量的图形有何差异图例 用open_cce来移掉不要的部分不过到此时,影像中除了bondngbas的部分之外,还有其他连接到bondngbas的深色部而bondngbas本身很明显是一个圆因此可以用openn_cce来移除非圆形的部分。openin_circle(Wres,BallReon,15.5)再看看Wes和Baeon之间的差异。现在留在图面上的东西就剩下几个,由圆形元素所填成的几个物体,但是这些物体是包含在影像中的,其实只是影像中的一些灰阶特征,如果要做后续计算时,必须把这些物体抽出,变成一个个独立的物体,这时候就要用到 connecton这个运算符。connection(BallReon,Ba经过这个运原本在Baeon里的物体就被拆成八个独立对存放在新产生的对象叫做Bas,现在可以试试用不同的颜色表示。uaatonooed选12,这样就可以见到不同的物体分别被以不同颜色标示,这是HALON非常重要的功能,这些所谓的变量并不是只能有单一数值或资料项,它是一个tuple,而在运算符计算时,给予的参数可以是一个tup计算就会处理数据所有对而不必再一个个分别计这时您就不必在程式中安排循环来做这些重复的动作。最后要找出圆形物体,此时要剔除其他非圆形物体就简单多了,用seect_shape,在OpeatoseonsFeatues中,参数选用"circularit",seect_shapeBas,FnaBas,'circularit,'and',0.85,1.0)现在再来看看e和FnaBas这两个变naBas中只含有七球状这就是要找的东西,下一个单元中会介绍如何量测。以上所举例子中,用到的运算符及计算的全部过程正如下列般简单。de_open_ndo0,0,1,1,back,WndoI)ead_maee,'de3')theshode,Bhteon,128,255)shape_tansBhteon,OI,'ecane2')educe_domane,OI,eOI)thesholdDieROI,aSemenation,0,50)f_up_shapeasemenaton,Wes,'aea',1,100)openin_circle(Wres,BallReon,15.5)connection(BallReon,Baseect_shapeBas,FnaBas,'circularit,'and',0.85,1.0)3.10 控制变量现在我们已经找出了影像中的bondngba接下来就可以做一些量例如说计算它们的数量,用count_ob在OpeatosObectInfomaton下)count_obFnaBas,umBas)和3.5节的da_ecane1类似的,现在又产生了一个新的变量umBas。HALON提供了许多的特征辨认功能,OpeatoseonsFeatues),现在可以再试试一个smallest_circle,它的功能是在找出一个包含一eon的最小圆,圆心位置以及半径。smaest_cceFnaBas,o,oumn,adus)FnaBas含有七个对象,也就是七个圆,所以输出的数据o,oumn,adus也都含有七个数据,从变量窗口中就可以看到,要是对象含有的数据太多了,在窗口中无法一次完全显示,可以在要查看的变量上双击,会出现一个窗口来显示全部数据。接下来要对求得的控制数据作处理,这时要用到的是一些内建的功能,例如您可能会想要计算adus的平均值,而为了指定输出的变量,用的功能是assin,在Opeatoontol下)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论