识别图像中目标物体的方法与装置的制作方法

文档序号:6615172阅读:178来源:国知局

专利名称::识别图像中目标物体的方法与装置的制作方法
技术领域
:本发明涉及成像技术,特别涉及一种识别图像中目标物体的方法与装置。
背景技术
:成像技术已经广泛应用于工业生产、日常生活及医疗设备中,例如表面贴装技术(SurfaceMountingTechnology,SMT)。表面贴装技术用于将电子组件组装到印刷电路板上以得到相应的电子产品,例如,电脑主板即是通过表面贴装技术将北桥芯片等贴到主板印刷电路板的对应位置。为了将电子组件精确地定位在印刷电路板上,表面贴装技术即采用了成像技术来获得电子组件的图像,通过图像中电子组件的识别来判断电子组件是否正确安装。如果通过图像识别确定电子组件大小、形状与预定的图像不一致,则表明电子组件存在问题,如送入表面贴装设备的电子组件错误等;如果通过图像识别确定电子组件的中心、角度与预定的图像不一致,则可以通过移动、旋转表面贴装设备的吸嘴将电子组件移动或旋转使电子组件与预定的图像一致,从而可以防止电子组件安装在印刷电路板上的位置偏移。传统的识别图像中目标物体的方法为将获得的目标物体(例如电子组件)的图像与预定图像进行逐个像素的比对,根据比对的结果来识别目标物体图像的大小、形状、移动、旋转等特征。然而,由于图像的数据量通常较大,例如分辨率为2048*2048的图像,仅区分黑白单色的未压縮图像就有4M的数据量,大数据量的处理需要较强的计算能力和较长的处理时间,这种传统的图像识别方法不利于在工业生产、日常生活及医疗设备中的应用。
发明内容鉴于此,有必要提供一种可快速识别图像中目标物体的方法。此外,还有必要提供一种可快速识别图像中目标物体的装置。一种识别图像中目标物体的方法,包括如下步骤获得所述目标物体的中心;计算扫描半径;以所述中心为圆心,所述扫描半径为半径对所述目标物体进行圆周扫描;根据所述圆周扫描的结果,识别所述目标物体。一种识别图像中目标物体的装置,包括中心地址模块,用于获得所述目标物体的中心;扫描半径模块,用于计算扫描半径;扫描地址模块,用于根据所述中心和扫描半径确定圆周扫描的像素点的地址;图像存储单元,用于存储所述图像的数据;扫描数据存储单元,用于存储所述图像存储单元中对应所述地址的数据;预定数据存储单元,用于存储预定数据;比较单元,用于比较所述扫描数据存储单元与所述预定数据存储单元中的数据,根据比较结果识别所述目标物体。上述识别图像中目标物体的方法与装置,通过圆周扫描图像中的目标物体,根据圆周扫描的结果,识别所述目标物体,不需要对图像进行逐个像素的比对,可快速识别图像中目标物体。图l为一较佳实施方式的图像示意图,图l中包括三条扫描线。图2为图1中第一条扫描线的扫描结果。图3为图1中第二条扫描线的扫描结果。图4为图1中第三条扫描线的扫描结果。图5为第一较佳实施方式的图像圆周扫描示意图。图6为图5的圆周扫描结果示意图。图7为第二较佳实施方式的图像圆周扫描示意图。图8为图7的圆周扫描结果示意图。图9为第三较佳实施方式的图像圆周扫描示意图。图10为图9的圆周扫描结果示意图。图ll为第四较佳实施方式的图像圆周扫描示意图。图12为图11的圆周扫描结果示意图。图13为第五较佳实施方式的图像圆周扫描示意图。图14为图13的第一圆周扫描结果示意图。图15为图13的第二圆周扫描结果示意图。图16为一较佳实施方式的识别图像中目标物体的方法流程图。图17为一较佳实施方式的识别图像中目标物体的装置示意图。具体实施例方式如图1所示,其为一较佳实施方式的图像示意图。图像10包括需要识别的目标物体12和背景14。为简化描述使本实施方式更易于理解,目标物体12的形状为三角形,当然目标物体12也可以为矩行、圆形或其它规则、不规则的图形。本实施方式的图像识别方法通过获得目标物体12的中心,再以该中心为圆心作圆周扫描,根据在圆周上取得的像素点的集合与预定数据进行比较来识别目标物体。目标物体12的中心122的获得方法如下通过逐行扫描图像10并记录一行中每个像素点的值,例如,将像素为目标物体12的记为1,将像素为背景14的记为0。如图2所示,其为图1中第一扫描线31扫描的值与像素的横坐标即X坐标的关系图,由图2可知,像素点如果为目标物体12,则值为l;像素点如果为背景14,则值为O。类似地,如图3及图4所示,第二、第三扫描线32、33可以获得图像10的相应行的像素点的值,进而可以判断该像素点是目标物体12还是背景14。如果图像在纵坐标方向有2048个像素,则有2048条扫描线,根据扫描线在图像10中的位置,可以确定扫描线的纵坐标即Y坐标。逐行的线扫描过程中,对值为l的像素点计数,例如扫描完图像10后值为1的像素点总数为N,即目标物体12的像素点总数为N,则中心122的X坐标为值为1的像素点的X坐标之和除以N;Y坐标为值为1的像素点的Y坐标之和除以N。目标物体12的中心122在坐标确定后,即确定了中心122在图像存储中的地址。获得目标物体12的中心122后,计算目标物体12的扫描半径R。如图5所示,扫描半径R为以中心122为圆心的扫描圆40的半径。扫描圆40用于在扫描圆40的圆周上扫描,以获得图像10在扫描圆40的圆周上的像素点的值。扫描半径R使得扫描圆40的面积与目标物体12满足预定关系,从而扫描半径R可以由以下公式确定其中,N为目标物体12的像素点总数,K为预定常数,例如i:、3.5、0.91:等。确定中心122即确定扫描圆40的圆心和扫描半径R后,在扫描圆40的圆周上扫描,以获得图像10在扫描圆40的圆周上的像素点的值。圆周上的像素点数量可以依据识别精度确定,例如,将像素点数量确定为2048,则每次扫描对应的圆心角为2i:/2048。根据中心122的地址和扫描半径R,每次扫描圆周上的一个像素点,并将扫描的像素点的值保存。根据扫描一周后的像素点的值,可以得到图6所示的波形图。即在扫描过程中,对应的圆心角e每次增加2i:/2048。在9为O时,扫描点像素位于背景14上,因此像素点的值为O;在逐渐增加圆心角e后,当扫描圆40与三角形目标物体12相交时,则像素点的值为l。根据图6所示的波形图,亦即根据扫描所得像素点的值的集合,可以获得目标物体12的形状。如图7所示,图像70包括目标物体72与背景74。同样地,根据上述线扫描的方法,可以获得目标物体72像素点总数M及中心722,再依据像素点总数M及中心722可以获得扫描圆80。从而可以获得扫描圆80的圆周上的像素点的值,扫描圆80的圆周上的像素点的值的波形图如图8所示。对比图6和图8可以看出,不同的目标物体12和72可以获得不同的波形图,亦即可以获得不同的像素点的值的集合,根据该像素点的值的集合可以识别目标物体12和72的形状。如图9所示,图像90包括目标物体92与背景94。相对于图像IO,目标物体92与目标物体12的形状、大小相同,但是旋转了一个角度。同样地,通过扫描后获得的波形图如图10所示。对比图6和图10可以看出,图10的波形图可以通过平移图6的波形获得,即图6和图10的波形图仅存在相位上的差别。也就是说,相同形状的目标物体,其旋转的角度可以通过波形的相位差识别出来。如图11所示,图像110包括目标物体112与背景114。相对于图像IO,目标物体112与目标物体12的形状、旋转角度相同,但是大小有差异。同样地,通过扫描后获得的波形图如图12所示。对比图6和图12可以看出,图12的波形图与图6的波形完全相同。但是目标物体12与目标物体112大小差异会导致像素点总数的差异,从而导致预定常数K相同的情况下扫描半径的差异。也就是说,相同形状的目标物体,其大小的差异可以通过像素点总数或扫描半径的差异识别出来。综上所述,圆周扫描所得的波形,即扫描的像素点的集合可以确定目标物体的形状;圆周扫描所得的波形的相位,即扫描的像素点的集合的偏移可以确定目标物体的旋转角度;目标物体的像素点的总数,即扫描半径可以确定目标物体的大小。容易理解,如果图5中的目标物体12的位置发生了移动,则会导致目标物体12的中心122产生移动,但是扫描半径、扫描获得的波形图、波形图的相位都不会发生变化。因而目标物体12位置的移动不会影响图像的识别。进一步地,为了更精确识别目标物体的形状,可以采用多个扫描圆对目标物体进行扫描。如图13所示,图像130包括目标物体132与背景134,通过设置两个扫描圆140与150,分别获得如图14和图15所示的波形。根据波形的不同,从而可以区别图7所示的矩形与图13所示的多边形。类似地,如果需要识别的目标物体形状比较复杂,可以通过选择不同的预定常数K获得不同的扫描半径,从而获得不同的波形来识别复杂的目标物体。如图16所示,上述目标物体的识别方法可以归纳为如下步骤首先,步骤S1602,获得图像中目标物体的中心。目标物体的中心可以通过对目标物体像素点的横坐标与纵坐标分别求平均数,以横坐标与纵坐标的平均数作为目标物体的中心所在位置。例如以图l所示的方法进行逐行扫描,将像素点的值为l的确定为目标物体像素点,并统计目标物体像素点坐标地址,根据统计结果求得目标物体的中心。步骤S1604,计算扫描半径。扫描半径的计算公式为R=V^,其中R为所述扫描半径,N为所述目标物体像素点的总数,K为预定常数。步骤S1606,以目标物体的中心为圆心,扫描半径为半径对目标物体进行圆周扫描。圆周扫描过程中,圆周上各像素点的地址A可以通过如下方式计算A=Ao+dx+dy*W;其中,Ao为中心的地址;dx为扫描像素点的地址与中心地址的横向偏移量;dy为扫描像素点的地址与中心地址的纵向偏移量;W为图象的宽度,例如2048个像素。由于图像在存储器中是依地址顺序存储的,因此图象的纵向增加l个像素,其地址需要增加l个图像宽度的地址。步骤S1608,根据上述圆周扫描的结果,识别目标物体。将扫描过程中提取的各像素点的结果与预定数据进行比对,根据比对结果判定目标物体。例如,提取的各像素点的结果与三角形目标物体最为接近,则将目标物体识别为三角形。同时可以根据中心地址确定三角形的位置,根据目标物体像素点的总数可以确定目标物体的大小;根据与预定数据的差异,例如图10与图6的相位差判定目标物体的旋转角度。请参阅图17,其为识别图像中目标物体的装置示意图。识别装置500包括中心地址模块510、扫描半径模块520、扫描地址模块530、图像存储单元540、扫描数据存储单元550、预定数据存储单元560、比较单元570及计数器580。中心地址模块510用于获得目标物体的中心。中心地址模块510对目标物体像素点的横坐标与纵坐标分别求平均数,以横坐标与纵坐标的平均数作为目标物体的中心所在位置。具体计算方法已经就图l进行过详细描述,不再赘述。扫描半径模块520用于计算扫描半径。扫描半径模块520计算扫描半径的计算公式为R=V^,其中R为扫描半径,N为目标物体像素点的总数,K为预定常数。具体计算方法如前所述。扫描地址模块530用于根据中心和扫描半径确定圆周扫描的像素点的地址。扫描地址模块530包括偏差计算单元532及地址计算单元534。偏差计算单元532与计数器580相连,计数器580用于根据一个圆周需要扫描的像素点数产生二进制数,例如,一个圆周需要扫描的像素点数为2048时,则产生ll位的二进制数,即21^2048。偏差计算单元532用于根据计数器580产生的二进制数计算该二进制数对应的扫描像素点的地址与中心地址的横向偏移量dx及纵向偏移量dy。偏差计算单元532包括査找表5322、第一偏差计算单元5324、第二偏差计算单元5326及映射单元5328。査找表5322与计数器580相连,用于存储与计数器580产生的二进制数对应的正弦值与余弦值。由于正弦值与余弦值的计算较为复杂,通过存储正弦值与余弦值在査找表5322中可以提高目标物体的识别速度。为了减小査找表5322的容量,可以仅存储坐标系统中第一象限的正弦值与余弦值,对于ll位的二进制数来说,其中前2位二进制数可以用于表示四个不同的象限,后9位用于对应在第一象限的正弦值与余弦值。第一偏差计算单元5324用于计算第一象限中在横坐标的偏移量,即扫描半径与余弦值的乘积R化os8;第二偏差计算单元5326用于计算第一象限中在纵坐标的偏移量,即扫描半径与正弦值的乘积I^sin8。映射单元5328用于根据第一偏差计算单元5324与第二偏差计算单元5326的计算结果,换算出其它象限的偏移量,换算关系如下表所示<table>tableseeoriginaldocumentpage10</column></row><table>扫描的地址。地址计算单元534计算圆周扫描的地址的计算公式为A=Ao+dx+dy*W;其中,Ao为中心的地址;dx为扫描像素点的地址与中心地址的横向偏移量,即扫描半径与圆心角e的余弦值的乘积;dy为扫描像素点的地址与中心地址的纵向偏移量,即扫描半径与圆心角e的正弦值的乘积;W为图象的宽度,可以通过读取图像存储单元540获得。图像存储单元540用于存储图像的数据,例如存储图5中图像10的数据。扫描数据存储单元550用于存储所述图像存储单元540中对应圆周扫描的地址的数据,例如存储图5中圆周40扫描的数据。预定数据存储单元560用于存储预定数据。例如存储三角形、矩形等目标物体的数据。比较单元570用于比较扫描数据存储单元550与预定数据存储单元560中的数据,根据比较结果识别所述目标物体。上述识别图像中目标物体的方法与装置,通过圆周扫描图像中的目标物体,根据圆周扫描的结果,识别所述目标物体,不需要对图像进行逐个像素的比对,可快速识别图像中目标物体。采用査找表5322保存三角函数值,可以快速査找三角函数值而不需计算,进一步加快了图像的识别速度。通过设置不同的扫描半径进行多次扫描,可以识别复杂的目标物体。权利要求1.一种识别图像中目标物体的方法,包括如下步骤获得所述目标物体的中心;计算扫描半径;以所述中心为圆心,所述扫描半径为半径对所述目标物体进行圆周扫描;根据所述圆周扫描的结果,识别所述目标物体。1.一种识别图像中目标物体的方法,包括如下步骤获得所述目标物体的中心;计算扫描半径;以所述中心为圆心,所述扫描半径为半径对所述目标物体进行圆周扫描;根据所述圆周扫描的结果,识别所述目标物体。2.如权利要求l所述的识别图像中目标物体的方法,其特征在于所述获得所述目标物体的中心的步骤包括如下步骤对目标物体像素点的横坐标与纵坐标分别求平均数,以所述横坐标与纵坐标的平均数作为所述目标物体的中心所在位置。3.如权利要求l所述的识别图像中目标物体的方法,其特征在于所述扫描半径的计算公式为R=V^,其中R为所述扫描半径,N为所述目标物体像素点的总数,K为预定常数。4.如权利要求l所述的识别图像中目标物体的方法,其特征在于所述圆周扫描的步骤包括根据所述中心与扫描半径计算所述圆周上各像素点的地址;根据所述地址从所述图像中提取各像素点。5.如权利要求4所述的识别图像中目标物体的方法,其特征在于所述识别所述目标物体的步骤为将所述提取结果与预定数据进行比对,根据比对结果判定目标物体。6.如权利要求4所述的识别图像中目标物体的方法,其特征在于所述提取圆周上的像素点为分别统计目标物体像素点与背景像素点及目标物体像素点与背景像素点对应的地址。7.如权利要求6所述的识别图像中目标物体的方法,其特征在于还包括如下步骤确定所述圆周扫描需要扫描的像素点的数量;根据所述确定的数量计算每次扫描下一像素点所要转动的圆心角变化量,其中所述圆心角变化量的计算方法为2i:除以所述数量。8.如权利要求7所述的识别图像中目标物体的方法,其特征在于圆周上各像素点的地址可以通过如下方式计算A=A0+dx+dy*W;其中,AO为所述中心的地址;dx为所述扫描半径与圆心角的余弦值的乘积;dy为所述扫描半径与圆心角的正弦值的乘积;W为所述图象的宽度;在扫描过程中,每次将所述圆心角增加所述圆心角变化量;根据所述地址从所述图像中提取各像素点。9.如权利要求1至8中任一项所述的识别图像中目标物体的方法,其特征在于还包括以另一扫描半径对所述目标物体进行圆周扫描,根据所述另一扫描半径的圆周扫描结果,识别所述目标物体的步骤。10.一种识别图像中目标物体的装置,包括中心地址模块,用于获得所述目标物体的中心;扫描半径模块,用于计算扫描半径;扫描地址模块,用于根据所述中心和扫描半径确定圆周扫描的像素点的地址;图像存储单元,用于存储所述图像的数据;扫描数据存储单元,用于存储所述图像存储单元中对应所述地址的数据;预定数据存储单元,用于存储预定数据;比较单元,用于比较所述扫描数据存储单元与所述预定数据存储单元中的数据,根据比较结果识别所述目标物体。11.如权利要求10所述的识别图像中目标物体的装置,其特征在于所述中心地址模块对目标物体像素点的横坐标与纵坐标分别求平均数,以所述横坐标与纵坐标的平均数作为所述目标物体的中心所在位置。12.如权利要求10所述的识别图像中目标物体的装置,其特征在于所述扫描半径模块计算所述扫描半径的计算公式为R=,其中R为所述扫描半径,N为所述目标物体像素点的总数,K为预定常数。13.如权利要求10所述的识别图像中目标物体的装置,其特征在于所述扫描地址模块包括地址计算单元用于根据所述中心的地址以及扫描地址与所述中心地址的偏差计算所述圆周扫描的地址。14.如权利要求13所述的识别图像中目标物体的装置,其特征在于所述地址计算单元计算所述圆周扫描的地址的计算公式为A=A0+dx+dy*W;其中,A0为所述中心的地址;dx为所述扫描地址与所述中心地址的横向偏移量;dy为所述扫描地址与所述中心地址的纵向偏移量;W为所述图象的宽度。15.如权利要求14所述的识别图像中目标物体的装置,其特征在于所述扫描地址模块包括偏差计算单元用于计算所述dx与dy。16.如权利要求15所述的识别图像中目标物体的装置,其特征在于所述偏差计算单元包括査找表、第一偏差计算单元、第二偏差计算单元及映射单元;所述识别图像中目标物体的装置还包括计数器;所述计数器用于产生二进制数;所述査找表用于存储所述二进制数对应的正弦值与余弦值;所述第一偏差计算单元用于计算所述扫描半径与所述余弦值的乘积;所述第二偏差计算单元用于计算所述扫描半径与所述正弦值的乘积;所述映射单元用于根据所述扫描半径与所述余弦值的乘积及所述二进制数计算所述dx,所述映射单元还用于根据所述扫描半径与所述正弦值的乘积及所述二进制数计算所述dy。全文摘要一种识别图像中目标物体的方法,包括如下步骤获得所述目标物体的中心;计算扫描半径;以所述中心为圆心,所述扫描半径为半径对所述目标物体进行圆周扫描;根据所述圆周扫描的结果,识别所述目标物体。上述识别图像中目标物体的方法通过圆周扫描图像中的目标物体,根据圆周扫描的结果识别目标物体,不需要对图像进行逐个像素的比对,可快速识别图像中目标物体。此外,还提供了一种识别图像中目标物体的装置。文档编号G06K9/20GK101359370SQ200710201240公开日2009年2月4日申请日期2007年8月1日优先权日2007年8月1日发明者唐佩忠申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1