CN102615052B - 一种用于具有拐角点特征的产品分拣的机器视觉识别方法 - Google Patents

一种用于具有拐角点特征的产品分拣的机器视觉识别方法 Download PDF

Info

Publication number
CN102615052B
CN102615052B CN 201210038518 CN201210038518A CN102615052B CN 102615052 B CN102615052 B CN 102615052B CN 201210038518 CN201210038518 CN 201210038518 CN 201210038518 A CN201210038518 A CN 201210038518A CN 102615052 B CN102615052 B CN 102615052B
Authority
CN
China
Prior art keywords
corner point
value
chain code
point
index value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201210038518
Other languages
English (en)
Other versions
CN102615052A (zh
Inventor
郭帅
李健
叶丰
施玮
王志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Robot Industrial Technology Research Institute Co Ltd
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN 201210038518 priority Critical patent/CN102615052B/zh
Publication of CN102615052A publication Critical patent/CN102615052A/zh
Application granted granted Critical
Publication of CN102615052B publication Critical patent/CN102615052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种用于具有拐角点特征的产品分拣的机器视觉识别方法,包括步骤:对已知产品的图像轮廓进行Freeman链码编码,用Freeman链码对拐角点检测,计算所有拐角点的拐角点特征三维列向量,再对拐角点特征三维列向量排序,将向量序列作为已知产品向量序列;对待分拣对象的图像轮廓进行Freeman链码编码,用Freeman链码对拐角点检测,计算所有拐角点的拐角点特征三维列向量,再对拐角点特征三维列向量排序,将向量序列作为待分拣对象的向量序列;最后对已知产品的向量序列和待分拣对象的向量序列进行判断,完成机器视觉的识别。该方法用链码来简化表示已知产品和待分拣对象的形状,后续计算量小,所提取的向量序列具有缩放、旋转不变性,能够实现正确识别,算法简单。

Description

一种用于具有拐角点特征的产品分拣的机器视觉识别方法
技术领域
本发明涉及利用机器视觉进行在线分拣的技术领域,尤其涉及在具有拐角点特征的产品分拣现场,利用机器视觉系统对产品进行在线识别的方法。
背景技术
分拣作业是大多数流水生产线上的一个重要环节。基于机器视觉的自动分拣与人工分拣作业相比,高效、准确,有质量保障,可以广泛应用于机械、食品、医药、化妆品等生产领域。
基于机器视觉的分拣系统工作时,待分拣对象被不断地送入分拣作业区。待分拣对象是指未被确定是何种产品,将要被执行识别和分拣的产品。待分拣对象随着传送带进入分拣作业区,工业摄像机在计算机的控制下,获取流水线上包含待分拣对象的图像,计算机读入该图像,通过对该图像进行处理、分析和判断,得到流水线上待分拣对象的特征信息,将该特征信息与事先存储在计算机中的各类已知产品的特征信息相比较,确定待分拣对象是哪一种产品,最终计算机发出控制信号给分拣执行机构,将待分拣对象放到指定位置,实现分拣。
为了实现自动分拣,首先要求基于机器视觉的分拣系统能够识别出流水线上待分拣对象是哪种已知产品,主要通过机器视觉来实现识别。现有技术中,识别主要有基于模板匹配的方法等。
基于模板匹配的识别方法过程为:首先获取已知产品的图像,作为模板图像,假设模板图像的尺寸为                                                
Figure DEST_PATH_IMAGE001
像素×像素。然后,将模板图像的中心放在
Figure DEST_PATH_IMAGE003
像素×
Figure 184098DEST_PATH_IMAGE004
像素的待匹配图像中的一个像素上,比较模板图像中每个像素点和待匹配图像中被模板图像覆盖的那部分图像的每个像素点是否一致,得到模板图像在这个像素点的相关系数,然后移动模板图像的中心到下一个像素点,按照同样的步骤计算下一个像素点的相关系数。对于整幅图像重复这一过程,相关系数最大的像素点为最佳匹配点,也就是目标在图像中所处的位置。
基于模板匹配的识别方法的优点是它对于噪声和遮挡的不敏感性。但是,由于匹配过程中需要计算几乎所有像素点的相关系数,是一个非常耗时的工作,计算开销十分大。另外,由于目标位姿随机,造成目标在图像中的方向不能保证完全不变,也给这种方法的识别带来困难。
在数字图像中,拐角点包含着物体的重要信息,可利用拐角点信息进行形状分析、模式识别等。专利“基于差别累加值及三点链码差的图像曲线拐角点检测方法”(专利号:CN101887582B)可实现对图像曲线的拐角点检测。
发明内容
针对现有技术存在的计算量大,难以处理待识别对象位姿随机情形的问题,本发明提供一种用于具有拐角点特征的产品分拣的机器视觉识别方法。本发明使用链码来计算已知产品和待分拣对象的向量序列,所提取的向量序列具有缩放、旋转不变性,在待分拣对象位姿随机的情况下,仍能够实现正确识别,匹配算法简单。
本发明方法的技术方案如下:
一种用于具有拐角点特征的产品分拣的机器视觉识别方法,包括以下步骤:
(1)、利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像,对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码
Figure DEST_PATH_IMAGE005
,其中,
Figure 624307DEST_PATH_IMAGE006
是Freeman链码的起始点像素坐标,
Figure 536637DEST_PATH_IMAGE002
为已知产品轮廓的像素点数目,
Figure 62296DEST_PATH_IMAGE008
为已知产品轮廓上像素点的索引值,
Figure DEST_PATH_IMAGE009
Figure 219739DEST_PATH_IMAGE008
点链码值;
(2)、使用“基于差别累加值及三点链码差的图像曲线拐角点检测方法”检测链码
Figure 717717DEST_PATH_IMAGE005
中的拐角点,依次为检测到的每一个拐角点设置拐角点索引值
Figure 286101DEST_PATH_IMAGE001
,拐角点索引值
Figure 502319DEST_PATH_IMAGE001
从0开始,计算每个拐角点的像素坐标,记为
Figure 696409DEST_PATH_IMAGE010
,其中,为拐角点索引值;
(3)、分别计算已知产品轮廓的每个拐角点的归一化拐角点质心距离值
Figure DEST_PATH_IMAGE011
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 788179DEST_PATH_IMAGE012
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure DEST_PATH_IMAGE013
,其中,
Figure 39162DEST_PATH_IMAGE001
为拐角点索引值。由归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 306251DEST_PATH_IMAGE012
、拐角点的向后直方图中最大值对应的Freeman链码值构成一个已知产品的拐角点特征三维列向量
Figure 407248DEST_PATH_IMAGE014
(4)、对由步骤(3)中得到的所有拐角点特征三维列向量
Figure DEST_PATH_IMAGE015
进行排序,排序后的向量序列作为已知产品向量序列,记为
Figure 444605DEST_PATH_IMAGE016
,将已知产品向量序列存储在用于识别和分拣控制的计算机中,所述的
Figure 833998DEST_PATH_IMAGE003
为已知产品的拐角点数目;
(5)、利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像,对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码
Figure DEST_PATH_IMAGE017
,其中,
Figure 429933DEST_PATH_IMAGE018
是Freeman链码的起始点像素坐标,
Figure 576881DEST_PATH_IMAGE002
为待分拣对象轮廓的像素点数目,
Figure 667197DEST_PATH_IMAGE008
为已知产品轮廓上像素点的索引值,
Figure 848779DEST_PATH_IMAGE009
Figure 117081DEST_PATH_IMAGE008
点链码值,
Figure DEST_PATH_IMAGE019
为表示待分拣对象的记号;
(6)、使用“基于差别累加值及三点链码差的图像曲线拐角点检测方法”检测链码
Figure 79220DEST_PATH_IMAGE017
中的拐角点,依次为检测到的每一个拐角点设置拐角点索引值
Figure 645331DEST_PATH_IMAGE020
,拐角点索引值
Figure 993005DEST_PATH_IMAGE020
从0开始,计算每个拐角点的像素坐标,记为
Figure DEST_PATH_IMAGE021
,其中,
Figure 681475DEST_PATH_IMAGE020
为拐角点索引值;
(7)、分别计算待分拣对象轮廓的每个拐角点的归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 48182DEST_PATH_IMAGE024
,其中,
Figure 204357DEST_PATH_IMAGE020
为拐角点索引值。由归一化拐角点质心距离值
Figure 312996DEST_PATH_IMAGE022
、拐角点向前的局部直方图中最大值对应的Freeman链码值、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 892062DEST_PATH_IMAGE024
构成一个待分拣对象的拐角点特征三维列向量
Figure DEST_PATH_IMAGE025
(8)、对由步骤(7)中得到的所有拐角点特征三维列向量
Figure 715793DEST_PATH_IMAGE026
进行排序,排序后的向量序列作为待分拣对象向量序列,记为
Figure DEST_PATH_IMAGE027
,所述的
Figure 746066DEST_PATH_IMAGE003
为待分拣对象的拐角点数目;
(9)、对已知产品的向量序列
Figure 842198DEST_PATH_IMAGE016
和待分拣对象的向量序列
Figure 865386DEST_PATH_IMAGE027
进行判断,完成机器视觉的识别。
本发明的一种用于具有拐角点特征的产品分拣的机器视觉识别方法与现有技术相比较,具有如下突出实质性优点:
1、该方法提取已知产品和待分拣对象向量序列的过程,采用Freeman链码表示,并对每个拐角点提取拐角点特征三维列向量,计算量小,应用于基于机器视觉的分拣系统作业过程,有利于提高分拣速度和效率;
2、该方法提取到的已知产品的向量序列和待分拣对象的向量序列分别包含了已知产品和待分拣对象的特征信息,其中,每个拐角点特征三维列向量中归一化拐角点距离特征值反映了已知产品和待分拣对象的特征信息,拐角点向前的局部直方图中最大值对应的Freeman链码值和拐角点向后的局部直方图中最大值对应的Freeman链码值反映了已知产品和待分拣对象的特征信息;
3、该方法提取到的待分拣对象的向量序列具有旋转、缩放不变性,其中,由于采用归一化拐角点质心距离值,对缩放具有不变性;由于对得到拐角点特征三维列向量进行了重新排序,使得到的向量序列具有旋转不变性。能够应对待分拣对象在流水线上位姿随机变化;
4、该方法对图像中待分拣对象的识别过程,采用的匹配准则简洁,所提取的向量序列能从拐角点质心距离特征值和拐角点局部特征方面进行匹配,提高了对待分拣对象的识别率,最终提高了分拣作业的正确性和有效性。
附图说明
图 1是本发明的一种用于具有拐角点特征的产品分拣的机器视觉识别系统的结构示意图; 
图 2本发明的一种用于具有拐角点特征的产品分拣的机器视觉识别方法的流程图;
图 3是图2中步骤(3)的流程图;
图 4是图2中步骤(4)的流程图;
图 5是图2中步骤(7)的流程图;
图 6是图2中步骤(8)的流程图;
图 7是图2中步骤(9)的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明:
如图1 所示,图中为本发明适用的基于机器视觉的分拣系统,该系统包括用于传送待分拣对象的流水线传送带、装在流水线传送带旁的工业摄像机、与工业摄像机连接的计算机、分拣执行机构,进行识别分拣时,将待分拣对象被不断地送入分拣作业区,待分拣对象是指未被确定是何种产品,将要被执行识别分拣的产品。待分拣对象随着传送带进入分拣作业区,工业摄像机在计算机的控制下,获取流水线上包含待分拣对象的图像,工业摄像机将包含待分拣对象的图像送入计算机,通过对此图像进行处理、分析和判断,得到待分拣对象的特征信息,将该特征该信息与事先存储在计算机中的已知产品的特征信息相比较,确定识别出待分拣对象是哪一种产品,最终计算机发出控制信号给分拣执行机构,将待分拣对象放到指定位置。 
如图2所示,一种用于具有拐角点特征的产品分拣的机器视觉识别方法,首先,对已知产品的图像轮廓进行Freeman链码编码,对Freeman链码进行拐角点检测,然后计算所有拐角点的拐角点特征三维列向量,再对拐角点特征三维列向量进行排序,将得到的向量序列作为已知产品的向量序列,存储在用于识别和分拣控制的计算机中;对待分拣对象的图像轮廓进行Freeman链码编码,采用Freeman链码进行对拐角点检测,然后计算所有拐角点的拐角点特征三维列向量,再对拐角点特征三维列向量进行排序,将得到的向量序列作为待分拣对象的向量序列;最后对已知产品的向量序列和待分拣对象的向量序列进行判断,完成机器视觉的识别。该方法使用链码来简化表示已知产品和待分拣对象的形状,后续计算量小,所提取的向量序列具有缩放、旋转不变性,能够实现正确识别,匹配算法简单。其具体包括以下步骤:
(1)、利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像,对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 58470DEST_PATH_IMAGE005
,其中,
Figure 197327DEST_PATH_IMAGE006
是Freeman链码的起始点像素坐标,
Figure 328226DEST_PATH_IMAGE002
为已知产品轮廓的像素点数目,
Figure 843521DEST_PATH_IMAGE008
为已知产品轮廓上像素点的索引值,
Figure 891111DEST_PATH_IMAGE009
Figure 200870DEST_PATH_IMAGE008
点链码值;
其具体步骤如下: 
(1-1)、利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像;
(1-2)、对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 317599DEST_PATH_IMAGE005
,其具体为:在二值图像中已知产品轮廓上,从像素坐标为
Figure 371006DEST_PATH_IMAGE006
的像素点起,沿着已知产品轮廓,按逆时针方向依次记录轮廓上第
Figure 273103DEST_PATH_IMAGE008
个像素点所对应的Freeman链码值
Figure 753763DEST_PATH_IMAGE009
,该记录的链码值
Figure 124832DEST_PATH_IMAGE009
所形成的序列
Figure 716351DEST_PATH_IMAGE005
为已知产品轮廓的Freeman链码,其中,是Freeman链码的起始点像素坐标,
Figure 390094DEST_PATH_IMAGE002
为已知产品轮廓的像素点数目,为已知产品轮廓上像素点的索引值,
Figure 876625DEST_PATH_IMAGE009
点链码值,
Figure 575777DEST_PATH_IMAGE028
(2)、使用“基于差别累加值及三点链码差的图像曲线拐角点检测方法”检测链码
Figure 655860DEST_PATH_IMAGE005
中的拐角点,依次为检测到的每一个拐角点设置拐角点索引值
Figure 854760DEST_PATH_IMAGE001
,拐角点索引值
Figure 523638DEST_PATH_IMAGE001
从0开始,计算每个拐角点的像素坐标,记为
Figure 579319DEST_PATH_IMAGE010
,其中,
Figure 333649DEST_PATH_IMAGE001
为拐角点索引值,其具体如下:
(2-1)、按照Freeman链码编码顺序逐点计算差别累加值:
Figure DEST_PATH_IMAGE029
,其中
Figure 647824DEST_PATH_IMAGE008
为曲线像素点的索引值,
Figure 233526DEST_PATH_IMAGE030
为差别累加值,
Figure DEST_PATH_IMAGE031
为相邻点的差别值,
Figure 210841DEST_PATH_IMAGE032
为间隔两个点的差别值;
所述的
Figure 514783DEST_PATH_IMAGE031
,当
Figure DEST_PATH_IMAGE033
时,
Figure 367070DEST_PATH_IMAGE034
;当
Figure DEST_PATH_IMAGE035
时,
Figure 807279DEST_PATH_IMAGE036
;当
Figure DEST_PATH_IMAGE037
时,
Figure 221074DEST_PATH_IMAGE038
所述的
Figure 746733DEST_PATH_IMAGE032
,当
Figure DEST_PATH_IMAGE039
时,
Figure 402711DEST_PATH_IMAGE040
Figure DEST_PATH_IMAGE041
时,
Figure 697426DEST_PATH_IMAGE042
;当
Figure DEST_PATH_IMAGE043
时,
Figure 282122DEST_PATH_IMAGE044
;其中
Figure 295078DEST_PATH_IMAGE008
点链码值;
(2-2)、根据差别累加值将图像曲线上所有的点分为拐角点、非拐角点和可疑点:
当第个点的差别累加值
Figure 841652DEST_PATH_IMAGE046
时为拐角点;
当第
Figure 784200DEST_PATH_IMAGE008
个点的差别累加值
Figure DEST_PATH_IMAGE047
时为非拐角点;
当第
Figure 284451DEST_PATH_IMAGE008
个点的差别累加值
Figure 970648DEST_PATH_IMAGE048
时为可疑点;
(2-3)、计算步骤(2-2)可疑点的三点链码差:
Figure DEST_PATH_IMAGE049
,其中
Figure 990687DEST_PATH_IMAGE050
Figure 166454DEST_PATH_IMAGE008
点的三点链码差,
Figure DEST_PATH_IMAGE051
Figure 403269DEST_PATH_IMAGE008
点的三点链码和;
所述的
Figure 689894DEST_PATH_IMAGE052
,其中
Figure DEST_PATH_IMAGE053
Figure 830019DEST_PATH_IMAGE008
点的绝对链码值,
Figure 323634DEST_PATH_IMAGE008
点前一个点的绝对链码值,
Figure DEST_PATH_IMAGE055
Figure 663218DEST_PATH_IMAGE008
点前两个点的绝对链码值,
Figure 844800DEST_PATH_IMAGE056
所述的,其中,
Figure 809662DEST_PATH_IMAGE008
点的相对链码值;
Figure 438090DEST_PATH_IMAGE054
Figure 739758DEST_PATH_IMAGE008
点前一个点的绝对链码值,
Figure 513434DEST_PATH_IMAGE056
,当
Figure DEST_PATH_IMAGE059
时,
Figure 697290DEST_PATH_IMAGE060
所述的
Figure DEST_PATH_IMAGE061
,当时,
Figure DEST_PATH_IMAGE063
;当
Figure 98633DEST_PATH_IMAGE064
时,
Figure DEST_PATH_IMAGE065
;其中,
Figure 895687DEST_PATH_IMAGE045
Figure 816108DEST_PATH_IMAGE066
点链码值;
Figure DEST_PATH_IMAGE067
为对中括号内的数值或表达式进行模8运算;
(2-4)、将可疑点的三点链码差与阈值进行比较,当三点链码差大于阈值时,此点为拐角点,当三点链码差小于或等于阈值时此点为非拐点;所述的阈值理论上没有固定值,根据自己对拐角点判断的严厉程度进行设置,一般取3
Figure 724021DEST_PATH_IMAGE068
6较为合适;将本步骤得到的拐角点与步骤(2-2)得到的拐角点按照链码编码的先后顺序进行合并,得到所有拐角点;
(2-5)、按照链码编码的先后顺序为所有的拐角点设置拐角点索引值
Figure 797019DEST_PATH_IMAGE001
Figure DEST_PATH_IMAGE069
。记拐角点索引值为
Figure 764975DEST_PATH_IMAGE001
的拐角点对应的像素点的索引值为
Figure 674156DEST_PATH_IMAGE070
,其像素坐标记为
Figure 385761DEST_PATH_IMAGE010
,其表达式为:
Figure DEST_PATH_IMAGE071
                                   (1)
所述的为步骤(1)得到的Freeman链码
Figure 452123DEST_PATH_IMAGE005
中起始点的像素坐标,
Figure 347135DEST_PATH_IMAGE072
Figure DEST_PATH_IMAGE073
方向像素坐标的偏移值,
Figure 924747DEST_PATH_IMAGE074
Figure DEST_PATH_IMAGE075
方向像素坐标的偏移值,
Figure 457491DEST_PATH_IMAGE045
Figure 767249DEST_PATH_IMAGE008
点链码值,其中:
Figure 900290DEST_PATH_IMAGE076
时,
Figure DEST_PATH_IMAGE077
Figure 265281DEST_PATH_IMAGE078
时,
Figure DEST_PATH_IMAGE079
Figure 167378DEST_PATH_IMAGE080
时,
Figure DEST_PATH_IMAGE081
Figure 461088DEST_PATH_IMAGE082
时,
Figure DEST_PATH_IMAGE083
Figure 81425DEST_PATH_IMAGE084
时,
Figure 984528DEST_PATH_IMAGE086
时,
Figure DEST_PATH_IMAGE087
Figure 741131DEST_PATH_IMAGE088
时,
Figure DEST_PATH_IMAGE089
时,
Figure DEST_PATH_IMAGE091
(3)、分别计算已知产品轮廓的每个拐角点的归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 20169DEST_PATH_IMAGE012
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 834541DEST_PATH_IMAGE013
,其中,
Figure 719320DEST_PATH_IMAGE001
为拐角点索引值。由归一化拐角点质心距离值
Figure 986353DEST_PATH_IMAGE011
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 998303DEST_PATH_IMAGE012
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 667182DEST_PATH_IMAGE013
构成一个已知产品的拐角点特征三维列向量
Figure 722862DEST_PATH_IMAGE014
,如图3所示,其具体步骤如下:
(3-1)、计算每个拐角点的归一化拐角点质心距离值
Figure 477192DEST_PATH_IMAGE011
,其具体步骤如下,
(3-1-1)、计算已知产品拐角点质心的像素坐标,记为
Figure 214204DEST_PATH_IMAGE092
 ,其表达式为:
Figure DEST_PATH_IMAGE093
                                 (2)
式中,
Figure 49173DEST_PATH_IMAGE001
为拐角点索引值,为已知产品拐角点的总个数,
Figure 782960DEST_PATH_IMAGE094
分别为拐角点索引值为
Figure 871133DEST_PATH_IMAGE001
的拐角点的
Figure 514604DEST_PATH_IMAGE073
方向像素坐标和
Figure 849770DEST_PATH_IMAGE075
方向像素坐标;
(3-1-2)、计算每个拐角点与拐角点质心的像素距离,记为
Figure 641009DEST_PATH_IMAGE096
,其计算表达式为:
     
Figure DEST_PATH_IMAGE097
                     (3)
式中,为拐角点索引值,
Figure 363349DEST_PATH_IMAGE095
分别为拐角点索引值为
Figure 127037DEST_PATH_IMAGE001
的拐角点的方向像素坐标和
Figure 424343DEST_PATH_IMAGE075
方向像素坐标,
Figure DEST_PATH_IMAGE099
分别为拐角点质心的
Figure 178727DEST_PATH_IMAGE073
方向像素坐标和方向像素坐标; 
(3-1-3)、计算每个拐角点的归一化拐角点质心距离值。对于拐角点索引值为
Figure 884963DEST_PATH_IMAGE001
的拐角点,它的归一化拐角点质心距离值记为
Figure 998412DEST_PATH_IMAGE011
,其具体步骤如下:
(3-1-3-1)、计算所有拐角点与拐角点质心的像素距离之和
Figure 985960DEST_PATH_IMAGE100
,其计算表达式为:
Figure DEST_PATH_IMAGE101
                             (4)
式中,
Figure 521852DEST_PATH_IMAGE003
为已知产品拐角点的总个数,
Figure 583349DEST_PATH_IMAGE096
为拐角点索引值为
Figure 930017DEST_PATH_IMAGE001
的拐角点与拐角点质心的像素距离。
(3-1-3-2)、对于拐角点索引值为
Figure 342544DEST_PATH_IMAGE001
的拐角点,计算它的归一化拐角点质心距离值
Figure 183592DEST_PATH_IMAGE011
,其表达式为:
                                (5)
式中,
Figure 617164DEST_PATH_IMAGE100
为所有拐角点与拐角点质心的像素距离之和,
Figure 828572DEST_PATH_IMAGE096
为拐角点索引值为
Figure 394682DEST_PATH_IMAGE001
的拐角点与拐角点质心的像素距离。
(3-2)、计算每个拐角点向前的局部直方图和向后的局部直方图,然后找出每个拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 758668DEST_PATH_IMAGE012
,每个拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 119242DEST_PATH_IMAGE013
(3-2-1)、根据Freeman链码
Figure DEST_PATH_IMAGE103
和拐角点在链码中的链码索引值,计算每个拐角点向前的局部直方图和向后的局部直方图,一个链码索引值为
Figure 319410DEST_PATH_IMAGE008
、拐角点索引值为
Figure 751529DEST_PATH_IMAGE001
的拐角点,其向前的局部直方图定义为:
Figure 642124DEST_PATH_IMAGE104
                      (6)
式中,为拐角点的拐角点索引值,
Figure 359599DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 533092DEST_PATH_IMAGE103
中的链码索引值, ,表示Freeman链码值的8个方向,
Figure 606090DEST_PATH_IMAGE106
为拐角点向前方向所取的点的个数, 
Figure 387095DEST_PATH_IMAGE108
表示链码索引值为
Figure 483227DEST_PATH_IMAGE110
的链码值,
Figure DEST_PATH_IMAGE111
其向后的局部直方图定义为:
Figure 568733DEST_PATH_IMAGE112
                       (7)
式中,
Figure 433920DEST_PATH_IMAGE001
为拐角点的拐角点索引值,
Figure 635095DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 218523DEST_PATH_IMAGE103
中的链码索引值, 
Figure 468238DEST_PATH_IMAGE105
,表示Freeman链码值的8个方向,
Figure 266561DEST_PATH_IMAGE106
为拐角点向后方向所取的点的个数, 
Figure 576320DEST_PATH_IMAGE107
表示链码索引值为的链码值,
Figure DEST_PATH_IMAGE113
(3-2-2)、根据拐角点向前的局部直方图和向后的局部直方图,分别得出每个拐角点的向前的局部直方图中最大值对应的Freeman链码值
Figure 976449DEST_PATH_IMAGE114
,向后的局部直方图中最大值对应的Freeman链码值
Figure DEST_PATH_IMAGE115
。对于拐角点索引值为的拐角点来说,它的
Figure 562599DEST_PATH_IMAGE114
Figure 482014DEST_PATH_IMAGE115
的计算表达式为:
Figure 176300DEST_PATH_IMAGE116
                    (8)
式中,为拐角点索引值,
Figure 184762DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 642288DEST_PATH_IMAGE103
中的链码索引值,
Figure DEST_PATH_IMAGE117
为链码索引值为
Figure 4131DEST_PATH_IMAGE066
、拐角点索引值为
Figure 92173DEST_PATH_IMAGE001
的拐角点向前的局部直方图,
Figure 421523DEST_PATH_IMAGE118
为链码索引值为
Figure 620423DEST_PATH_IMAGE008
、拐角点索引值为
Figure 335307DEST_PATH_IMAGE001
的拐角点向后的局部直方图,
Figure DEST_PATH_IMAGE119
为直方图
Figure 656567DEST_PATH_IMAGE120
中的最大值,
Figure DEST_PATH_IMAGE121
为直方图
Figure 223945DEST_PATH_IMAGE122
中的最大值,
Figure DEST_PATH_IMAGE123
为拐角点向前的局部直方图
Figure 23274DEST_PATH_IMAGE124
中的最大值对应的Freeman链码值,
Figure DEST_PATH_IMAGE125
为拐角点向后的局部直方图中的最大值对应的Freeman链码值;
(3-3)、由归一化拐角点质心距离值
Figure 373843DEST_PATH_IMAGE011
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 349889DEST_PATH_IMAGE114
、拐角点向后的局部直方图中最大值对应的Freeman链码值,为每个拐角点构建一个拐角点特征三维列向量,其表达式:
Figure 347112DEST_PATH_IMAGE014
, 其中,
Figure 744595DEST_PATH_IMAGE001
为拐角点索引值。
(4)、对由步骤(3)中得到的所有拐角点特征三维列向量
Figure 473517DEST_PATH_IMAGE015
进行排序,排序后的向量序列作为已知产品向量序列,记为
Figure 863916DEST_PATH_IMAGE016
,将已知产品向量序列存储在用于识别和分拣控制的计算机中,所述的
Figure 361893DEST_PATH_IMAGE003
为已知产品的拐角点数目,如图4所示,其具体步骤如下:
(4-1)、比较由步骤(3)得到的所有拐角点特征三维列向量中归一化拐角点质心距离值的大小,得到最小归一化拐角点质心距离值对应的拐角点特征三维列向量的拐角点索引值,其具体步骤如下:
(4-1-1)、定义
Figure DEST_PATH_IMAGE127
,记录归一化拐角点质心距离值的最小值,定义
Figure 930278DEST_PATH_IMAGE128
,记录
Figure 959545DEST_PATH_IMAGE127
对应的拐角点特征三维列向量的拐角点索引值,设取拐角点索引值为0的拐角点特征三维列向量,其表达式为:
把拐角点特征三维列向量
Figure 904367DEST_PATH_IMAGE130
中的归一化拐角点质心距离值
Figure DEST_PATH_IMAGE131
赋值给
Figure 568435DEST_PATH_IMAGE127
,其表达式为:
(4-1-2)、从拐角点索引值为1的拐角点特征三维列向量开始,按照拐角点索引值大小的顺序,比较每个拐角点的拐角点特征三维列向量中归一化拐角点质心距离值
Figure DEST_PATH_IMAGE133
Figure 824284DEST_PATH_IMAGE134
Figure 244901DEST_PATH_IMAGE003
为已知产品拐角点的总个数)与的大小,若
Figure 627658DEST_PATH_IMAGE133
小于
Figure 864473DEST_PATH_IMAGE127
,则把
Figure 88781DEST_PATH_IMAGE133
赋值给,把
Figure DEST_PATH_IMAGE135
赋值给
Figure 575575DEST_PATH_IMAGE128
,其表达式为:
Figure DEST_PATH_IMAGE137
(4-2)、计算所有拐角点特征三维列向量的序列索引值
Figure 812838DEST_PATH_IMAGE138
,其计算式如下:
                     (9)
式中,
Figure 306005DEST_PATH_IMAGE140
为拐角点索引值,
Figure 823574DEST_PATH_IMAGE003
为已知产品拐角点的总个数,
Figure 723397DEST_PATH_IMAGE128
为归一化拐角点质心距离值最小的拐角点特征三维列向量的下标值;
(4-3)、按照序列索引值的大小对所有拐角点特征三维列向量进行排序,得到已知产品的向量序列
Figure 102557DEST_PATH_IMAGE016
,存储在用于识别和分拣控制的计算机中,其具体步骤为:
(4-3-1)按照拐角点索引值的大小顺序,对由步骤(3)得到的拐角点特征三维列向量
Figure DEST_PATH_IMAGE141
进行排列,得到的向量序列为
Figure 200963DEST_PATH_IMAGE142
(4-3-2)记
Figure DEST_PATH_IMAGE143
,得到:
Figure 138701DEST_PATH_IMAGE144
其中,
Figure 588136DEST_PATH_IMAGE001
为拐角点索引值(
Figure 692359DEST_PATH_IMAGE140
),
Figure 661583DEST_PATH_IMAGE138
为步骤(4-2)的得到的序列索引值,
Figure DEST_PATH_IMAGE145
Figure 520954DEST_PATH_IMAGE012
分别是三维列向量
Figure 614867DEST_PATH_IMAGE146
中的第一、二、三个值。
(4-3-3)按照序列索引值
Figure 625549DEST_PATH_IMAGE138
的大小对向量序列
Figure DEST_PATH_IMAGE147
中的拐角点特征三维列向量重新排序,得到已知产品的向量序列,记为:
Figure 468871DEST_PATH_IMAGE148
                      (10)
(4-3-3)将已知产品的向量序列
Figure 565003DEST_PATH_IMAGE148
存储于计算机中。
(5)、利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像,对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 73344DEST_PATH_IMAGE017
,其中,
Figure 204112DEST_PATH_IMAGE018
是Freeman链码的起始点像素坐标,
Figure 654553DEST_PATH_IMAGE002
为待分拣对象轮廓的像素点数目,
Figure 237981DEST_PATH_IMAGE008
为已知产品轮廓上像素点的索引值,
Figure 550014DEST_PATH_IMAGE009
Figure 535288DEST_PATH_IMAGE008
点链码值,
Figure 658095DEST_PATH_IMAGE019
为表示待分拣对象的记号,其具体步骤如下: 
(5-1)、利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像;
(5-2)、对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 728820DEST_PATH_IMAGE017
,其具体为:在二值图像待分拣对象轮廓上,从像素坐标为
Figure 782226DEST_PATH_IMAGE018
的像素点起,沿着待分拣对象轮廓,按逆时针方向依次记录轮廓上第
Figure 684323DEST_PATH_IMAGE008
个像素点所对应的Freeman链码值
Figure 476568DEST_PATH_IMAGE009
,该记录的链码值所形成的序列
Figure 688423DEST_PATH_IMAGE017
为待分拣对象轮廓的Freeman链码,其中,
Figure 382710DEST_PATH_IMAGE018
是Freeman链码的起始点像素坐标,
Figure 847320DEST_PATH_IMAGE002
为待分拣对象的二值图像轮廓的像素点数目,
Figure 892637DEST_PATH_IMAGE008
为待分拣对象轮廓上像素点的索引值,
Figure 898956DEST_PATH_IMAGE008
点链码值,
Figure 298582DEST_PATH_IMAGE028
Figure 565615DEST_PATH_IMAGE019
为表示待分拣对象的记号;
(6)、使用“基于差别累加值及三点链码差的图像曲线拐角点检测方法”检测链码中的拐角点,依次为检测到的每一个拐角点设置角点索引值
Figure 43181DEST_PATH_IMAGE020
,拐角点索引值
Figure 302124DEST_PATH_IMAGE020
从0开始,计算每个拐角点的像素坐标,记为
Figure 853191DEST_PATH_IMAGE021
,其中,为拐角点索引值,其具体如下:
(6-1)、按照Freeman链码编码顺序逐点计算差别累加值:
Figure 690752DEST_PATH_IMAGE029
,其中
Figure DEST_PATH_IMAGE149
为曲线像素点的索引值,
Figure 917334DEST_PATH_IMAGE030
为差别累加值,
Figure 158959DEST_PATH_IMAGE031
为相邻点的差别值,
Figure 512712DEST_PATH_IMAGE032
为间隔两个点的差别值;
所述的
Figure 451455DEST_PATH_IMAGE031
,当
Figure 52201DEST_PATH_IMAGE033
时,
Figure 827128DEST_PATH_IMAGE034
;当
Figure 171521DEST_PATH_IMAGE035
时,
Figure 731816DEST_PATH_IMAGE036
;当
Figure 237883DEST_PATH_IMAGE037
时,
Figure 267150DEST_PATH_IMAGE038
所述的
Figure 149656DEST_PATH_IMAGE032
,当
Figure 564457DEST_PATH_IMAGE039
时,
Figure 241426DEST_PATH_IMAGE040
Figure 990945DEST_PATH_IMAGE041
时,
Figure 677141DEST_PATH_IMAGE042
;当
Figure 946448DEST_PATH_IMAGE043
时,;其中
Figure 798178DEST_PATH_IMAGE045
Figure 84803DEST_PATH_IMAGE150
Figure 411879DEST_PATH_IMAGE008
点链码值;
(6-2)、根据差别累加值将图像曲线上所有的点分为拐角点、非拐角点和可疑点:
当第
Figure 7814DEST_PATH_IMAGE008
个点的差别累加值
Figure 154762DEST_PATH_IMAGE046
时为拐角点;
当第
Figure 245077DEST_PATH_IMAGE008
个点的差别累加值
Figure 426660DEST_PATH_IMAGE047
时为非拐角点;
当第
Figure 694961DEST_PATH_IMAGE008
个点的差别累加值
Figure 594784DEST_PATH_IMAGE048
时为可疑点;
(6-3)、计算步骤(6-2)可疑点的三点链码差:
Figure 223212DEST_PATH_IMAGE049
,其中
Figure 259301DEST_PATH_IMAGE050
Figure 220476DEST_PATH_IMAGE008
点的三点链码差,
Figure 342016DEST_PATH_IMAGE051
点的三点链码和;
所述的
Figure 743359DEST_PATH_IMAGE052
,其中
Figure 540413DEST_PATH_IMAGE053
Figure 211566DEST_PATH_IMAGE008
点的绝对链码值,
Figure 441745DEST_PATH_IMAGE008
点前一个点的绝对链码值,
Figure 409701DEST_PATH_IMAGE055
Figure 568150DEST_PATH_IMAGE008
点前两个点的绝对链码值,
Figure 92803DEST_PATH_IMAGE056
所述的
Figure 223570DEST_PATH_IMAGE057
,其中,
Figure 424744DEST_PATH_IMAGE058
Figure 742593DEST_PATH_IMAGE008
点的相对链码值;
Figure 569473DEST_PATH_IMAGE054
Figure 554746DEST_PATH_IMAGE008
点前一个点的绝对链码值,
Figure 926822DEST_PATH_IMAGE056
,当时,
Figure 598423DEST_PATH_IMAGE060
所述的
Figure 438203DEST_PATH_IMAGE061
,当
Figure 981180DEST_PATH_IMAGE062
时,
Figure 539200DEST_PATH_IMAGE063
;当
Figure 442303DEST_PATH_IMAGE064
时,
Figure 402168DEST_PATH_IMAGE065
;其中,
Figure 116047DEST_PATH_IMAGE045
Figure 895784DEST_PATH_IMAGE066
点链码值;为对中括号内的数值或表达式进行模8运算;
(6-4)、将可疑点的三点链码差与阈值进行比较,当三点链码差大于阈值时,此点为拐角点,当三点链码差小于或等于阈值时此点为非拐点;所述的阈值理论上没有固定值,根据自己对拐角点判断的严厉程度进行设置,一般取3
Figure 980731DEST_PATH_IMAGE068
6较为合适;将本步骤得到的拐角点与步骤(6-2)得到的拐角点按照链码编码的先后顺序进行合并,得到所有拐角点;
(6-5)、按照链码编码的先后顺序为所有的拐角点设置拐角点索引值
Figure 803194DEST_PATH_IMAGE020
Figure DEST_PATH_IMAGE151
,记拐角点索引值为的拐角点对应的像素点的索引值为
Figure 643029DEST_PATH_IMAGE152
,其像素坐标记为
Figure 311907DEST_PATH_IMAGE021
,其表达式为:
Figure DEST_PATH_IMAGE153
                                 (11)
所述的
Figure 118321DEST_PATH_IMAGE018
为步骤(5)得到的Freeman链码
Figure 872650DEST_PATH_IMAGE017
中起始点的像素坐标,
Figure 875241DEST_PATH_IMAGE072
Figure 460943DEST_PATH_IMAGE073
方向像素坐标的偏移值,
Figure 625208DEST_PATH_IMAGE074
Figure 866834DEST_PATH_IMAGE075
方向像素坐标的偏移值,
Figure 407537DEST_PATH_IMAGE045
Figure 97013DEST_PATH_IMAGE008
点链码值,其中:
Figure 697758DEST_PATH_IMAGE076
时,
Figure 161101DEST_PATH_IMAGE077
Figure 567811DEST_PATH_IMAGE078
时,
Figure 571856DEST_PATH_IMAGE080
时,
Figure 335544DEST_PATH_IMAGE081
时,
Figure 570533DEST_PATH_IMAGE083
Figure 575399DEST_PATH_IMAGE084
时,
Figure 13333DEST_PATH_IMAGE085
Figure 699529DEST_PATH_IMAGE086
时,
Figure 218104DEST_PATH_IMAGE087
时,
Figure 543409DEST_PATH_IMAGE090
时,
Figure 870485DEST_PATH_IMAGE091
(7)、分别计算待分拣对象轮廓的每个拐角点的归一化拐角点质心距离值
Figure 702306DEST_PATH_IMAGE022
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 114833DEST_PATH_IMAGE023
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 142832DEST_PATH_IMAGE024
,其中,
Figure 324415DEST_PATH_IMAGE020
为拐角点索引值。由归一化拐角点质心距离值
Figure 841984DEST_PATH_IMAGE022
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 476227DEST_PATH_IMAGE023
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 416239DEST_PATH_IMAGE024
构成一个待分拣对象的拐角点特征三维列向量
Figure 717908DEST_PATH_IMAGE025
,如图5所示,其具体步骤如下:
(7-1)、计算每个拐角点的归一化拐角点质心距离值
Figure 344061DEST_PATH_IMAGE022
(7-1-1)、计算待分拣对象拐角点质心的像素坐标,记为
Figure 278650DEST_PATH_IMAGE154
 ,其表达式为:
Figure DEST_PATH_IMAGE155
                               (12)
式中,
Figure 710768DEST_PATH_IMAGE020
为拐角点索引值,
Figure 866943DEST_PATH_IMAGE156
Figure 663998DEST_PATH_IMAGE003
为待分拣对象拐角点的总个数,
Figure DEST_PATH_IMAGE157
Figure 584418DEST_PATH_IMAGE158
分别为拐角点索引值为
Figure 492332DEST_PATH_IMAGE020
的拐角点的
Figure 565330DEST_PATH_IMAGE073
方向像素坐标和
Figure 533286DEST_PATH_IMAGE075
方向像素坐标;
(7-1-2)、计算每个拐角点与拐角点质心的像素距离,记为
Figure DEST_PATH_IMAGE159
,其计算表达式为:
     
Figure 442467DEST_PATH_IMAGE160
              (13)
式中,
Figure 154071DEST_PATH_IMAGE020
为拐角点索引值,
Figure DEST_PATH_IMAGE161
Figure 81576DEST_PATH_IMAGE162
分别为拐角点索引值为的拐角点的
Figure 803861DEST_PATH_IMAGE073
方向像素坐标和方向像素坐标,
Figure DEST_PATH_IMAGE163
分别为拐角点质心的
Figure 660194DEST_PATH_IMAGE073
方向像素坐标和方向像素坐标; 
(7-1-3)、计算每个拐角点的归一化拐角点质心距离值。对于拐角点索引值为的拐角点,它的归一化拐角点质心距离值记为
Figure 686421DEST_PATH_IMAGE022
,其具体步骤如下:
(7-1-3-1)、计算所有拐角点与拐角点质心的像素距离之和
Figure DEST_PATH_IMAGE165
,其计算表达式为:
                           (14)
式中,为待分拣对象拐角点的总个数,
Figure 129669DEST_PATH_IMAGE159
为拐角点索引值为
Figure 886273DEST_PATH_IMAGE020
的拐角点到拐角点质心的像素距离。
(7-1-3-2)、对于拐角点索引值为
Figure 803413DEST_PATH_IMAGE020
的拐角点,计算它的归一化拐角点质心距离值
Figure 583150DEST_PATH_IMAGE022
,其表达式为:
Figure DEST_PATH_IMAGE167
                               (15)
式中,
Figure 289944DEST_PATH_IMAGE168
为所有拐角点到拐角点质心的像素距离之和,
Figure DEST_PATH_IMAGE169
为拐角点索引值为
Figure 166633DEST_PATH_IMAGE020
的拐角点到拐角点质心的像素距离。
(7-2)、计算每个拐角点向前的局部直方图和向后的局部直方图,然后找出每个拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 989096DEST_PATH_IMAGE023
,每个拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 69178DEST_PATH_IMAGE024
(7-2-1)、根据Freeman链码
Figure 268078DEST_PATH_IMAGE150
和拐角点在链码中的链码索引值,计算每个拐角点向前的局部直方图和向后的局部直方图,一个链码索引值为、拐角点索引值为
Figure 179588DEST_PATH_IMAGE020
的拐角点,其向前的局部直方图定义为:
                     (16)
式中,
Figure 169465DEST_PATH_IMAGE020
为拐角点的拐角点索引值,
Figure 692850DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 122694DEST_PATH_IMAGE150
中的链码索引值, 
Figure 426637DEST_PATH_IMAGE105
,表示Freeman链码值的8个方向,
Figure 13345DEST_PATH_IMAGE106
为拐角点向前方向所取的点的个数, 
Figure 656816DEST_PATH_IMAGE107
Figure 991982DEST_PATH_IMAGE108
表示链码索引值为
Figure 305193DEST_PATH_IMAGE110
的链码值,
Figure 384008DEST_PATH_IMAGE111
其向后的局部直方图定义为:
Figure DEST_PATH_IMAGE171
                     (17)
式中,
Figure 695034DEST_PATH_IMAGE020
为拐角点的拐角点索引值,
Figure 528998DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 479637DEST_PATH_IMAGE103
中的链码索引值, 
Figure 362142DEST_PATH_IMAGE105
,表示Freeman链码值的8个方向,为拐角点向后方向所取的点的个数, 
Figure 31076DEST_PATH_IMAGE172
Figure 469010DEST_PATH_IMAGE108
表示链码索引值为
Figure 702677DEST_PATH_IMAGE110
的链码值,
Figure 175246DEST_PATH_IMAGE113
(7-2-2)、根据拐角点向前的局部直方图和向后的局部直方图,分别得出每个拐角点的向前的局部直方图中最大值对应的Freeman链码值
Figure 662597DEST_PATH_IMAGE023
,向后的局部直方图中最大值对应的Freeman链码值
Figure 650145DEST_PATH_IMAGE024
。对于拐角点索引值为
Figure 749819DEST_PATH_IMAGE001
的拐角点来说,它的
Figure 811316DEST_PATH_IMAGE023
Figure 344934DEST_PATH_IMAGE024
的计算表达式为:
Figure DEST_PATH_IMAGE173
                  (18)
式中,
Figure 757461DEST_PATH_IMAGE001
为拐角点索引值,
Figure 97044DEST_PATH_IMAGE008
为拐角点在Freeman链码
Figure 340944DEST_PATH_IMAGE103
中的链码索引值,
Figure 343666DEST_PATH_IMAGE174
为链码索引值为
Figure 243489DEST_PATH_IMAGE008
、拐角点索引值为的拐角点向前的局部直方图,
Figure DEST_PATH_IMAGE175
为链码索引值为
Figure 485169DEST_PATH_IMAGE008
、拐角点索引值为
Figure 908060DEST_PATH_IMAGE020
的拐角点向后的局部直方图,
Figure 295179DEST_PATH_IMAGE176
为直方图
Figure DEST_PATH_IMAGE177
中的最大值,
Figure 540347DEST_PATH_IMAGE178
为直方图
Figure DEST_PATH_IMAGE179
中的最大值,
Figure 742527DEST_PATH_IMAGE180
为拐角点向前的局部直方图
Figure DEST_PATH_IMAGE181
中的最大值对应的Freeman链码值,
Figure 414948DEST_PATH_IMAGE182
为拐角点向后的局部直方图
Figure DEST_PATH_IMAGE183
中的最大值对应的Freeman链码值;
(7-3)、由归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值、拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 581859DEST_PATH_IMAGE024
,为每个拐角点构建一个拐角点特征三维列向量,其表达式:
Figure 549815DEST_PATH_IMAGE184
, 其中,
Figure 708264DEST_PATH_IMAGE020
为拐角点索引值。
(8)、对由步骤(7)中得到的所有拐角点特征三维列向量
Figure 232917DEST_PATH_IMAGE026
进行排序,排序后的向量序列作为待分拣对象向量序列,记为,所述的
Figure 299279DEST_PATH_IMAGE003
为待分拣对象的拐角点数目,如图6所示,其具体步骤如下:
(8-1)、比较由步骤(7)得到的所有拐角点特征三维列向量中归一化拐角点质心距离值的大小,得到最小归一化拐角点质心距离值对应的拐角点特征三维列向量的拐角点索引值;
(8-1-1)、定义
Figure 882707DEST_PATH_IMAGE127
,记录归一化拐角点质心距离值的最小值,定义
Figure 132423DEST_PATH_IMAGE128
,记录
Figure 117696DEST_PATH_IMAGE127
对应的拐角点特征三维列向量的拐角点索引值,设取拐角点索引值为0的拐角点特征三维列向量,其表达式为:
Figure DEST_PATH_IMAGE185
把拐角点特征三维列向量
Figure 739040DEST_PATH_IMAGE130
中的归一化拐角点质心距离值
Figure 809764DEST_PATH_IMAGE186
赋值给,其表达式为:
Figure DEST_PATH_IMAGE187
(8-1-2)、从拐角点索引值为1的拐角点特征三维列向量开始,按照拐角点索引值大小的顺序,比较每个拐角点的拐角点特征三维列向量中归一化拐角点质心距离值
Figure 765267DEST_PATH_IMAGE133
Figure 245927DEST_PATH_IMAGE134
Figure 351418DEST_PATH_IMAGE003
为待分拣对象拐角点的总个数)与
Figure 208515DEST_PATH_IMAGE127
的大小,若小于,则把
Figure 661996DEST_PATH_IMAGE133
赋值给
Figure 57205DEST_PATH_IMAGE127
,把
Figure 605998DEST_PATH_IMAGE135
赋值给
Figure 5625DEST_PATH_IMAGE128
,其表达式为:
Figure 272658DEST_PATH_IMAGE136
Figure 471558DEST_PATH_IMAGE137
(8-2)、计算所有拐角点特征三维列向量的序列索引值,其计算式如下:
Figure 196118DEST_PATH_IMAGE188
                (19)
式中,
Figure 950447DEST_PATH_IMAGE156
为拐角点索引值,为待分拣对象拐角点的总个数,
Figure 23893DEST_PATH_IMAGE128
为归一化拐角点质心距离值最小的拐角点特征三维列向量的下标值;
(8-3)、按照序列索引值的大小对所有拐角点特征三维列向量进行排序,得到待分拣对象的向量序列
Figure 453738DEST_PATH_IMAGE027
,其具体步骤为:
(8-3-1)按照拐角点索引值的大小顺序,对由步骤(7)得到的拐角点特征三维列向量
Figure 429784DEST_PATH_IMAGE026
进行排列,得到的向量序列为
Figure DEST_PATH_IMAGE189
(8-3-2)记
Figure 32804DEST_PATH_IMAGE190
,得到:
Figure DEST_PATH_IMAGE191
其中,
Figure 987859DEST_PATH_IMAGE020
为拐角点索引值,
Figure 323025DEST_PATH_IMAGE192
为步骤(8-2)的得到的序列索引值,
Figure 51947DEST_PATH_IMAGE022
Figure 130761DEST_PATH_IMAGE023
Figure 691056DEST_PATH_IMAGE024
分别是三维列向量
Figure DEST_PATH_IMAGE193
中的第一、二、三个值。
(8-3-3)按照序列索引值
Figure 197123DEST_PATH_IMAGE192
的大小对向量序列
Figure 226390DEST_PATH_IMAGE194
中的拐角点特征三维列向量重新排序,得到待分拣的向量序列,记为:
                      (20)
(9)、对已知产品的向量序列
Figure 108896DEST_PATH_IMAGE016
和待分拣对象的向量序列
Figure 523697DEST_PATH_IMAGE027
进行判断,完成机器视觉的识别,如图7所示,其具体步骤如下: 
(9-1)、定义整型自变量
Figure 777829DEST_PATH_IMAGE196
(9-2)、读入已知产品的向量序列
Figure 278081DEST_PATH_IMAGE016
中第个拐角点特征三维列向量
Figure 698698DEST_PATH_IMAGE198
,读入待分拣对象的向量序列
Figure 984317DEST_PATH_IMAGE027
中第个拐角点特征三维列向量
所述的已知产品的向量序列
Figure 757418DEST_PATH_IMAGE016
为:
Figure 44043DEST_PATH_IMAGE148
式中,
Figure 371119DEST_PATH_IMAGE003
为已知产品中的拐角点数目,
Figure 655470DEST_PATH_IMAGE200
为已知产品的向量序列
Figure 379581DEST_PATH_IMAGE016
中第0个拐角点特征三维列向量,其表达式为
Figure DEST_PATH_IMAGE201
为已知产品的向量序列
Figure 385900DEST_PATH_IMAGE016
中第1个拐角点特征三维列向量,其表达式为
Figure DEST_PATH_IMAGE203
Figure 841152DEST_PATH_IMAGE204
依次类推;
所述的待分拣对象的向量序列
Figure 740975DEST_PATH_IMAGE027
为:
Figure DEST_PATH_IMAGE205
式中,
Figure 120135DEST_PATH_IMAGE003
为待分拣对象中的拐角点数目,
Figure 156224DEST_PATH_IMAGE206
为待分拣对象的向量序列
Figure 844694DEST_PATH_IMAGE027
中第0个拐角点特征三维列向量,其表达式为
Figure DEST_PATH_IMAGE207
Figure 231813DEST_PATH_IMAGE208
为待分拣对象的向量序列
Figure 647620DEST_PATH_IMAGE027
中第1个拐角点特征三维列向量,其表达式为
Figure DEST_PATH_IMAGE209
Figure 803795DEST_PATH_IMAGE210
依次类推;
(9-3)、计算读入的已知产品的拐角点特征三维列向量
Figure DEST_PATH_IMAGE211
中的
Figure 663166DEST_PATH_IMAGE212
与待分拣对象的拐角点特征三维列向量
Figure DEST_PATH_IMAGE213
中的之差的绝对值,记为
Figure DEST_PATH_IMAGE215
,其表达式为:
Figure 258544DEST_PATH_IMAGE216
                                    (21)
式中,为已知产品的拐角点特征三维列向量中的归一化拐角点质心距离值;
Figure DEST_PATH_IMAGE217
为待分拣对象的拐角点特征三维列向量
Figure 395630DEST_PATH_IMAGE218
中的归一化拐角点质心距离值;
(9-4)比较由步骤(9-3)得到的
Figure 841655DEST_PATH_IMAGE215
与阈值
Figure DEST_PATH_IMAGE219
的大小,所述的阈值理论上没有固定的值,根据自己对归一化拐角点质心距离值判断的差值大小程度进行设置,一般设置
Figure 284007DEST_PATH_IMAGE220
为0.010.05;
Figure DEST_PATH_IMAGE221
,则转到步骤(9-5),否则,该待分拣对象与已知产品不属于同一类产品,判断结束,完成机器视觉的识别;
(9-5)、计算拐角点向前的局部直方图的链码值差值
Figure 68609DEST_PATH_IMAGE222
Figure DEST_PATH_IMAGE223
                                  (22)
式中,
Figure 318325DEST_PATH_IMAGE224
为已知产品的拐角点特征三维列向量
Figure 116647DEST_PATH_IMAGE211
中的向前的局部直方图中最大值对应的Freeman链码值;
Figure DEST_PATH_IMAGE225
为待分拣对象的拐角点特征三维列向量
Figure 426406DEST_PATH_IMAGE218
中的向前的局部直方图中最大值对应的Freeman链码值;
Figure 497130DEST_PATH_IMAGE067
为对中括号内的数值或表达式进行模8运算;
计算拐角点向后的局部直方图的链码值差值
Figure 612854DEST_PATH_IMAGE226
Figure DEST_PATH_IMAGE227
                                (23)
式中,
Figure 452634DEST_PATH_IMAGE228
为已知产品的拐角点特征三维列向量中的向后的局部直方图中最大值对应的Freeman链码值;
Figure 244878DEST_PATH_IMAGE230
为待分拣对象的拐角点特征三维列向量
Figure 537319DEST_PATH_IMAGE199
中的向后的局部直方图中最大值对应的Freeman链码值;
Figure 394417DEST_PATH_IMAGE067
为对中括号内的数值或表达式进行模8运算;
计算前后链码差值
Figure DEST_PATH_IMAGE231
,其计算式为:
                                  (24)
式中,
Figure 802581DEST_PATH_IMAGE222
为拐角点向前的局部直方图的链码值差值,
Figure 660947DEST_PATH_IMAGE226
拐角点向后的局部直方图的链码值差值;
(9-6)、判断由步骤(9-5)得到的前后链码差值
Figure 56156DEST_PATH_IMAGE231
是否等于0,若前后链码差值
Figure 604949DEST_PATH_IMAGE231
等于0,则转到步骤(9-7);
若前后链码差值
Figure 692991DEST_PATH_IMAGE231
不等于0,则再判断前后链码差值
Figure 22341DEST_PATH_IMAGE231
是否等于1, 若前后链码差值
Figure 955662DEST_PATH_IMAGE231
等于1,则转到步骤(9-7);
若前后链码差值
Figure 624541DEST_PATH_IMAGE231
不等于1,则再判断前后链码差值
Figure 218506DEST_PATH_IMAGE231
是否等于7,若前后链码差值
Figure 707256DEST_PATH_IMAGE231
等于7,则转到步骤(9-7),否则,该待分拣对象与已知产品不属于同一类产品,判断结束,完成机器视觉的识别;
(9-7)、自变量,判断自变量
Figure 772164DEST_PATH_IMAGE234
是否小于已知产品拐角点的总个数
Figure 295549DEST_PATH_IMAGE003
,若自变量
Figure 459814DEST_PATH_IMAGE234
 小于已知产品拐角点的总个数
Figure 701440DEST_PATH_IMAGE003
,则转到步骤(9-2),否则,该待分拣对象与已知产品属于同一类产品,判断结束,完成机器视觉的识别。

Claims (8)

1.一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,该方法包括以下步骤:
(1)、利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像,对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码                                                
Figure 691238DEST_PATH_IMAGE001
,其中,
Figure 903913DEST_PATH_IMAGE002
是Freeman链码的起始点像素坐标,
Figure 170947DEST_PATH_IMAGE003
为已知产品轮廓的像素点数目,
Figure 288289DEST_PATH_IMAGE004
为已知产品轮廓上像素点的索引值,
Figure 957167DEST_PATH_IMAGE005
Figure 153793DEST_PATH_IMAGE004
点链码值;
(2)、使用基于差别累加值及三点链码差的图像曲线拐角点检测方法来检测链码中的拐角点,依次为检测到的每一个拐角点设置拐角点索引值
Figure 832085DEST_PATH_IMAGE006
,拐角点索引值
Figure 293154DEST_PATH_IMAGE006
从0开始,计算每个拐角点的像素坐标,记为,其中,
Figure 885995DEST_PATH_IMAGE006
为拐角点索引值,其具体如下:
(2-1)、按照Freeman链码编码顺序逐点计算差别累加值:,其中
Figure 742273DEST_PATH_IMAGE009
为曲线像素点的索引值,
Figure 343018DEST_PATH_IMAGE010
为差别累加值,
Figure 993311DEST_PATH_IMAGE011
为相邻点的差别值,为间隔两个点的差别值;
所述的
Figure 835682DEST_PATH_IMAGE011
,当
Figure 279433DEST_PATH_IMAGE013
时,
Figure 495651DEST_PATH_IMAGE014
;当
Figure 568037DEST_PATH_IMAGE015
时,
Figure 920520DEST_PATH_IMAGE016
;当时,
Figure 973107DEST_PATH_IMAGE018
所述的
Figure 659303DEST_PATH_IMAGE012
,当
Figure 866294DEST_PATH_IMAGE019
时,时,
Figure 253916DEST_PATH_IMAGE022
;当
Figure 580992DEST_PATH_IMAGE023
时,
Figure 52293DEST_PATH_IMAGE024
;其中
Figure 199241DEST_PATH_IMAGE025
Figure 164923DEST_PATH_IMAGE009
点链码值;
(2-2)、根据差别累加值将图像曲线上所有的点分为拐角点、非拐角点和可疑点:
当第
Figure 346506DEST_PATH_IMAGE009
个点的差别累加值
Figure 988708DEST_PATH_IMAGE026
时为拐角点;
当第
Figure 888531DEST_PATH_IMAGE009
个点的差别累加值
Figure 392325DEST_PATH_IMAGE027
时为非拐角点;
当第
Figure 428414DEST_PATH_IMAGE028
个点的差别累加值时为可疑点;
(2-3)、计算步骤(2-2)可疑点的三点链码差:
Figure 383566DEST_PATH_IMAGE030
,其中
Figure 753367DEST_PATH_IMAGE031
Figure 847225DEST_PATH_IMAGE009
点的三点链码差,
Figure 644280DEST_PATH_IMAGE032
Figure 253116DEST_PATH_IMAGE009
点的三点链码和;
所述的
Figure 347980DEST_PATH_IMAGE033
,其中
Figure 358661DEST_PATH_IMAGE034
Figure 264300DEST_PATH_IMAGE009
点的绝对链码值,
Figure 360432DEST_PATH_IMAGE035
Figure 258987DEST_PATH_IMAGE009
点前一个点的绝对链码值,
Figure 389754DEST_PATH_IMAGE036
Figure 466294DEST_PATH_IMAGE009
点前两个点的绝对链码值,
Figure 784143DEST_PATH_IMAGE037
所述的
Figure 299438DEST_PATH_IMAGE038
,其中,
Figure 471662DEST_PATH_IMAGE039
Figure 781421DEST_PATH_IMAGE009
点的相对链码值;
Figure 586566DEST_PATH_IMAGE035
Figure 577656DEST_PATH_IMAGE009
点前一个点的绝对链码值,
Figure 417436DEST_PATH_IMAGE037
,当时,
Figure 645996DEST_PATH_IMAGE041
所述的
Figure 237514DEST_PATH_IMAGE042
,当
Figure 197380DEST_PATH_IMAGE043
时,
Figure 786625DEST_PATH_IMAGE044
;当
Figure 566362DEST_PATH_IMAGE045
时,;其中,
Figure 962894DEST_PATH_IMAGE025
Figure 723040DEST_PATH_IMAGE047
点链码值;
Figure 990073DEST_PATH_IMAGE048
为对中括号内的数值或表达式进行模8运算;
(2-4)、将可疑点的三点链码差与阈值进行比较,当三点链码差大于阈值时,此点为拐角点,当三点链码差小于或等于阈值时此点为非拐点;所述的阈值为3
Figure 188973DEST_PATH_IMAGE049
6;将本步骤得到的拐角点与步骤(2-2)得到的拐角点按照链码编码的先后顺序进行合并,得到所有拐角点;
(2-5)、按照链码编码的先后顺序为所有的拐角点设置拐角点索引值
Figure 44802DEST_PATH_IMAGE006
Figure 38166DEST_PATH_IMAGE050
记拐角点索引值为
Figure 730179DEST_PATH_IMAGE006
的拐角点对应的像素点的索引值为,其像素坐标记为
Figure 443106DEST_PATH_IMAGE007
,其表达式为:
Figure 607371DEST_PATH_IMAGE052
                                   (1)
所述的
Figure 786679DEST_PATH_IMAGE002
为步骤(1)得到的Freeman链码
Figure 327382DEST_PATH_IMAGE001
中起始点的像素坐标,
Figure 705274DEST_PATH_IMAGE053
Figure 490040DEST_PATH_IMAGE054
方向像素坐标的偏移值,
Figure 953383DEST_PATH_IMAGE055
Figure 235460DEST_PATH_IMAGE056
方向像素坐标的偏移值,
Figure 467858DEST_PATH_IMAGE025
点链码值,其中:
时,
Figure 259599DEST_PATH_IMAGE058
Figure 612083DEST_PATH_IMAGE059
时,
Figure 492314DEST_PATH_IMAGE060
Figure 930249DEST_PATH_IMAGE061
时,
Figure 803396DEST_PATH_IMAGE062
Figure 10386DEST_PATH_IMAGE063
时,
Figure 61519DEST_PATH_IMAGE064
Figure 986750DEST_PATH_IMAGE065
时,
Figure 211058DEST_PATH_IMAGE066
Figure 725084DEST_PATH_IMAGE067
时,
Figure 743856DEST_PATH_IMAGE068
Figure 94066DEST_PATH_IMAGE069
时,
Figure 122065DEST_PATH_IMAGE070
Figure 303647DEST_PATH_IMAGE071
时;
Figure DEST_PATH_IMAGE072
(3)、分别计算已知产品轮廓的每个拐角点的归一化拐角点质心距离值
Figure 948780DEST_PATH_IMAGE073
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 583024DEST_PATH_IMAGE074
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 86817DEST_PATH_IMAGE075
,其中,
Figure 388486DEST_PATH_IMAGE006
为拐角点索引值;
由归一化拐角点质心距离值
Figure 14639DEST_PATH_IMAGE073
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 323129DEST_PATH_IMAGE074
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 692931DEST_PATH_IMAGE075
构成一个已知产品的拐角点特征三维列向量
Figure 849106DEST_PATH_IMAGE076
(4)、对由步骤(3)中得到的所有拐角点特征三维列向量进行排序,排序后的向量序列作为已知产品向量序列,记为
Figure 192679DEST_PATH_IMAGE078
,将已知产品向量序列存储在用于识别和分拣控制的计算机中,所述的
Figure 100593DEST_PATH_IMAGE079
为已知产品的拐角点数目;
(5)、利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像,对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码,其中,
Figure 266181DEST_PATH_IMAGE081
是Freeman链码的起始点像素坐标,
Figure 362313DEST_PATH_IMAGE003
为待分拣对象轮廓的像素点数目,
Figure 11600DEST_PATH_IMAGE004
为已知产品轮廓上像素点的索引值,
Figure 876788DEST_PATH_IMAGE005
Figure 15645DEST_PATH_IMAGE004
点链码值,
Figure 786024DEST_PATH_IMAGE082
为表示待分拣对象的记号;
(6)、使用基于差别累加值及三点链码差的图像曲线拐角点检测方法来检测链码
Figure 301319DEST_PATH_IMAGE080
中的拐角点,依次为检测到的每一个拐角点设置拐角点索引值
Figure 21013DEST_PATH_IMAGE083
,拐角点索引值
Figure 268455DEST_PATH_IMAGE084
从0开始,计算每个拐角点的像素坐标,记为,其中,
Figure 392586DEST_PATH_IMAGE084
为拐角点索引值,其具体如下:
(6-1)、按照Freeman链码编码顺序逐点计算差别累加值:
Figure 416387DEST_PATH_IMAGE008
,其中为曲线像素点的索引值,为差别累加值,
Figure 984268DEST_PATH_IMAGE011
为相邻点的差别值,
Figure 678555DEST_PATH_IMAGE012
为间隔两个点的差别值;
所述的,当
Figure 562383DEST_PATH_IMAGE013
时,
Figure 957592DEST_PATH_IMAGE014
;当
Figure 771964DEST_PATH_IMAGE015
时,;当
Figure 799143DEST_PATH_IMAGE017
时,
Figure 998044DEST_PATH_IMAGE018
所述的
Figure 853873DEST_PATH_IMAGE012
,当
Figure 847237DEST_PATH_IMAGE019
时,
Figure 601566DEST_PATH_IMAGE020
Figure 276261DEST_PATH_IMAGE021
时,
Figure 799646DEST_PATH_IMAGE022
;当
Figure 229491DEST_PATH_IMAGE023
时,
Figure 658067DEST_PATH_IMAGE024
;其中
Figure 576661DEST_PATH_IMAGE086
Figure 849511DEST_PATH_IMAGE009
点链码值;
(6-2)、根据差别累加值将图像曲线上所有的点分为拐角点、非拐角点和可疑点:
当第
Figure 578432DEST_PATH_IMAGE028
个点的差别累加值
Figure 657247DEST_PATH_IMAGE026
时为拐角点;
当第个点的差别累加值时为非拐角点;
当第
Figure 5073DEST_PATH_IMAGE009
个点的差别累加值时为可疑点;
(6-3)、计算步骤(6-2)可疑点的三点链码差:
Figure 240062DEST_PATH_IMAGE030
,其中
Figure 807496DEST_PATH_IMAGE009
点的三点链码差,
Figure 638366DEST_PATH_IMAGE009
点的三点链码和;
所述的
Figure 751815DEST_PATH_IMAGE033
,其中
Figure 677046DEST_PATH_IMAGE034
Figure 88305DEST_PATH_IMAGE009
点的绝对链码值,
Figure 149801DEST_PATH_IMAGE035
Figure 434152DEST_PATH_IMAGE009
点前一个点的绝对链码值,
Figure 784362DEST_PATH_IMAGE036
Figure 812361DEST_PATH_IMAGE009
点前两个点的绝对链码值,
Figure 993944DEST_PATH_IMAGE037
所述的
Figure 370567DEST_PATH_IMAGE038
,其中,
Figure 270390DEST_PATH_IMAGE039
Figure 836501DEST_PATH_IMAGE009
点的相对链码值;
Figure 75852DEST_PATH_IMAGE035
Figure 436426DEST_PATH_IMAGE009
点前一个点的绝对链码值,
Figure 823545DEST_PATH_IMAGE037
,当
Figure 377368DEST_PATH_IMAGE040
时,
Figure 267963DEST_PATH_IMAGE041
所述的
Figure 65018DEST_PATH_IMAGE042
,当
Figure 611537DEST_PATH_IMAGE043
时,
Figure 785029DEST_PATH_IMAGE044
;当
Figure 795711DEST_PATH_IMAGE045
时,
Figure 950617DEST_PATH_IMAGE046
;其中,
Figure 46749DEST_PATH_IMAGE025
Figure 758353DEST_PATH_IMAGE047
点链码值;
Figure 561224DEST_PATH_IMAGE048
为对中括号内的数值或表达式进行模8运算;
(6-4)、将可疑点的三点链码差与阈值进行比较,当三点链码差大于阈值时,此点为拐角点,当三点链码差小于或等于阈值时此点为非拐点;所述的阈值为36;将本步骤得到的拐角点与步骤(6-2)得到的拐角点按照链码编码的先后顺序进行合并,得到所有拐角点;
(6-5)、按照链码编码的先后顺序为所有的拐角点设置拐角点索引值
Figure 283510DEST_PATH_IMAGE084
Figure 720176DEST_PATH_IMAGE087
,记拐角点索引值为
Figure 705450DEST_PATH_IMAGE084
的拐角点对应的像素点的索引值为
Figure 15208DEST_PATH_IMAGE088
,其像素坐标记为
Figure 23616DEST_PATH_IMAGE085
,其表达式为:
                                 (11)
所述的
Figure 916802DEST_PATH_IMAGE081
为步骤(5)得到的Freeman链码
Figure 584413DEST_PATH_IMAGE080
中起始点的像素坐标,
Figure 876854DEST_PATH_IMAGE053
方向像素坐标的偏移值,
Figure 365921DEST_PATH_IMAGE055
Figure 17482DEST_PATH_IMAGE056
方向像素坐标的偏移值,
Figure 62799DEST_PATH_IMAGE025
Figure 647888DEST_PATH_IMAGE009
点链码值,其中:
Figure 196681DEST_PATH_IMAGE057
时,
Figure 489440DEST_PATH_IMAGE059
时,
Figure 688340DEST_PATH_IMAGE060
时,
Figure 537533DEST_PATH_IMAGE062
时,
Figure 28874DEST_PATH_IMAGE064
Figure 489942DEST_PATH_IMAGE065
时,
Figure 895833DEST_PATH_IMAGE067
时,
Figure 623487DEST_PATH_IMAGE068
时,
Figure 602124DEST_PATH_IMAGE070
Figure 268729DEST_PATH_IMAGE071
时,
Figure 347543DEST_PATH_IMAGE072
(7)、分别计算待分拣对象轮廓的每个拐角点的归一化拐角点质心距离值
Figure 845520DEST_PATH_IMAGE090
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 538539DEST_PATH_IMAGE091
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 754757DEST_PATH_IMAGE092
,其中,
Figure 637262DEST_PATH_IMAGE084
为拐角点索引值;
由归一化拐角点质心距离值
Figure 927429DEST_PATH_IMAGE090
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 869977DEST_PATH_IMAGE091
、拐角点的向后直方图中最大值对应的Freeman链码值构成一个待分拣对象的拐角点特征三维列向量
Figure 748487DEST_PATH_IMAGE093
(8)、对由步骤(7)中得到的所有拐角点特征三维列向量
Figure 221057DEST_PATH_IMAGE094
进行排序,排序后的向量序列作为待分拣对象向量序列,记为
Figure 68927DEST_PATH_IMAGE095
,所述的为待分拣对象的拐角点数目;
(9)、对已知产品的向量序列
Figure 156149DEST_PATH_IMAGE096
和待分拣对象的向量序列
Figure 483225DEST_PATH_IMAGE095
进行判断,完成机器视觉的识别。
2.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(1)所述的利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像,对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 954527DEST_PATH_IMAGE001
,其中,
Figure 367053DEST_PATH_IMAGE002
 为Freeman链码的起始点像素坐标,
Figure 129473DEST_PATH_IMAGE003
为已知产品轮廓的像素点数目,为已知产品轮廓上像素点的索引值,
Figure 703991DEST_PATH_IMAGE005
Figure 603814DEST_PATH_IMAGE009
点链码值,其具体步骤如下: 
(1-1)、利用工业摄像机对流水线上的已知产品进行拍摄,得到已知产品的图像,对图像进行滤波、分割、二值化处理后,得到已知产品的二值图像;
(1-2)、对二值图像中已知产品轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 356875DEST_PATH_IMAGE001
,其具体为:在二值图像中已知产品轮廓上,从像素坐标为
Figure 392964DEST_PATH_IMAGE002
的像素点起,沿着已知产品轮廓,按逆时针方向依次记录轮廓上第
Figure 19117DEST_PATH_IMAGE009
个像素点所对应的Freeman链码值
Figure 343920DEST_PATH_IMAGE005
,该记录的链码值
Figure 448142DEST_PATH_IMAGE005
所形成的序列
Figure 604317DEST_PATH_IMAGE001
为已知产品轮廓的Freeman链码,其中,是Freeman链码的起始点像素坐标,为已知产品轮廓的像素点数目,
Figure 370650DEST_PATH_IMAGE009
为已知产品轮廓上像素点的索引值,
Figure 319015DEST_PATH_IMAGE005
点链码值,
Figure 383103DEST_PATH_IMAGE097
3.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(3)所述的分别计算已知产品轮廓的每个拐角点的归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 149775DEST_PATH_IMAGE074
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 288632DEST_PATH_IMAGE075
,其中,
Figure 809743DEST_PATH_IMAGE006
为拐角点索引值;
由归一化拐角点质心距离值
Figure 59459DEST_PATH_IMAGE073
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 44733DEST_PATH_IMAGE074
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 541442DEST_PATH_IMAGE075
构成一个已知产品的拐角点特征三维列向量
Figure 612166DEST_PATH_IMAGE076
,其具体步骤如下:
(3-1)、计算每个拐角点的归一化拐角点质心距离值
Figure 665573DEST_PATH_IMAGE073
(3-1-1)、计算已知产品拐角点质心的像素坐标,记为
Figure 443036DEST_PATH_IMAGE098
 ,其表达式为:
Figure 923696DEST_PATH_IMAGE099
                                 (2)
式中,
Figure 216137DEST_PATH_IMAGE006
为拐角点索引值,
Figure 260185DEST_PATH_IMAGE079
为已知产品拐角点的总个数,
Figure 606033DEST_PATH_IMAGE101
分别为拐角点索引值为
Figure 589032DEST_PATH_IMAGE006
的拐角点的
Figure 984242DEST_PATH_IMAGE054
方向像素坐标和方向像素坐标;
(3-1-2)、计算每个拐角点与拐角点质心的像素距离,记为
Figure 808027DEST_PATH_IMAGE102
,其计算表达式为:
     
Figure 75060DEST_PATH_IMAGE103
                     (3)
式中,
Figure 8381DEST_PATH_IMAGE006
为拐角点索引值,分别为拐角点索引值为
Figure 484340DEST_PATH_IMAGE006
的拐角点的
Figure 486932DEST_PATH_IMAGE054
方向像素坐标和
Figure 197267DEST_PATH_IMAGE056
方向像素坐标,
Figure 361533DEST_PATH_IMAGE104
Figure 603158DEST_PATH_IMAGE105
分别为拐角点质心的
Figure 81544DEST_PATH_IMAGE054
方向像素坐标和
Figure 459436DEST_PATH_IMAGE056
方向像素坐标; 
(3-1-3)、计算每个拐角点的归一化拐角点质心距离值;
对于拐角点索引值为的拐角点,它的归一化拐角点质心距离值记为
Figure 710474DEST_PATH_IMAGE073
,其具体步骤如下:
(3-1-3-1)、计算所有拐角点与拐角点质心的像素距离之和
Figure 54868DEST_PATH_IMAGE106
,其计算表达式为:
Figure 490529DEST_PATH_IMAGE107
                             (4)
式中,
Figure 996596DEST_PATH_IMAGE079
为已知产品拐角点的总个数,
Figure 212814DEST_PATH_IMAGE102
为拐角点索引值为
Figure 282270DEST_PATH_IMAGE006
的拐角点与拐角点质心的像素距离;
(3-1-3-2)、对于拐角点索引值为
Figure 634754DEST_PATH_IMAGE006
的拐角点,计算它的归一化拐角点质心距离值
Figure 311723DEST_PATH_IMAGE073
,其表达式为:
Figure 687341DEST_PATH_IMAGE108
                                (5)
式中,
Figure 373537DEST_PATH_IMAGE106
为所有拐角点与拐角点质心的像素距离之和,为拐角点索引值为
Figure 883857DEST_PATH_IMAGE006
的拐角点与拐角点质心的像素距离;
(3-2)、计算每个拐角点向前的局部直方图和向后的局部直方图,然后找出每个拐角点向前的局部直方图中最大值对应的Freeman链码值,每个拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 33396DEST_PATH_IMAGE075
(3-2-1)、根据Freeman链码和拐角点在链码中的链码索引值,计算每个拐角点向前的局部直方图和向后的局部直方图,一个链码索引值为、拐角点索引值为
Figure 729453DEST_PATH_IMAGE006
的拐角点,其向前的局部直方图定义为:
Figure 944403DEST_PATH_IMAGE110
                      (6)
式中,为拐角点的拐角点索引值,
Figure 581238DEST_PATH_IMAGE009
为拐角点在Freeman链码
Figure 481061DEST_PATH_IMAGE109
中的链码索引值, 
Figure 984854DEST_PATH_IMAGE111
,表示Freeman链码值的8个方向,
Figure 20943DEST_PATH_IMAGE112
为拐角点向前方向所取的点的个数, 
Figure 647097DEST_PATH_IMAGE113
表示链码索引值为
Figure 325389DEST_PATH_IMAGE115
的链码值,
Figure 481564DEST_PATH_IMAGE116
其向后的局部直方图定义为:
Figure 216301DEST_PATH_IMAGE117
                       (7)
式中,
Figure 825137DEST_PATH_IMAGE006
为拐角点的拐角点索引值,
Figure 733050DEST_PATH_IMAGE009
为拐角点在Freeman链码
Figure 930682DEST_PATH_IMAGE109
中的链码索引值, ,表示Freeman链码值的8个方向,
Figure 994770DEST_PATH_IMAGE112
为拐角点向后方向所取的点的个数, 
Figure 644058DEST_PATH_IMAGE113
Figure 774825DEST_PATH_IMAGE114
表示链码索引值为
Figure 913682DEST_PATH_IMAGE115
的链码值,
Figure 415552DEST_PATH_IMAGE118
(3-2-2)、根据拐角点向前的局部直方图和向后的局部直方图,分别得出每个拐角点的向前的局部直方图中最大值对应的Freeman链码值
Figure 930847DEST_PATH_IMAGE119
,向后的局部直方图中最大值对应的Freeman链码值
Figure 916120DEST_PATH_IMAGE120
对于拐角点索引值为
Figure 163562DEST_PATH_IMAGE006
的拐角点来说,它的
Figure 22114DEST_PATH_IMAGE120
的计算表达式为:
Figure 48844DEST_PATH_IMAGE121
                    (8)
式中,
Figure 529504DEST_PATH_IMAGE006
为拐角点索引值,
Figure 87524DEST_PATH_IMAGE009
为拐角点在Freeman链码
Figure 616726DEST_PATH_IMAGE109
中的链码索引值,
Figure 576592DEST_PATH_IMAGE122
为链码索引值为
Figure 228153DEST_PATH_IMAGE047
、拐角点索引值为
Figure 194841DEST_PATH_IMAGE006
的拐角点向前的局部直方图,
Figure 590050DEST_PATH_IMAGE123
为链码索引值为
Figure 404422DEST_PATH_IMAGE009
、拐角点索引值为的拐角点向后的局部直方图,
Figure 431601DEST_PATH_IMAGE124
为直方图
Figure 817452DEST_PATH_IMAGE125
中的最大值,
Figure 486331DEST_PATH_IMAGE126
为直方图
Figure 479694DEST_PATH_IMAGE123
中的最大值,
Figure 171707DEST_PATH_IMAGE127
为拐角点向前的局部直方图
Figure 174298DEST_PATH_IMAGE128
中的最大值对应的Freeman链码值,
Figure 697683DEST_PATH_IMAGE129
为拐角点向后的局部直方图
Figure 51829DEST_PATH_IMAGE130
中的最大值对应的Freeman链码值;
(3-3)、由归一化拐角点质心距离值、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 834157DEST_PATH_IMAGE119
、拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 149732DEST_PATH_IMAGE120
,为每个拐角点构建一个拐角点特征三维列向量,其表达式:, 其中,
Figure 213820DEST_PATH_IMAGE006
为拐角点索引值。
4.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(4)所述的对由步骤(3)中得到的所有拐角点特征三维列向量
Figure 745164DEST_PATH_IMAGE131
进行排序,排序后的向量序列作为已知产品向量序列,记为
Figure 977562DEST_PATH_IMAGE096
,将已知产品向量序列存储在用于识别和分拣控制的计算机中,所述的
Figure 749209DEST_PATH_IMAGE079
为已知产品的拐角点数目,其具体步骤如下:
(4-1)、比较由步骤(3)得到的所有拐角点特征三维列向量中归一化拐角点质心距离值的大小,得到最小归一化拐角点质心距离值对应的拐角点特征三维列向量的拐角点索引值,其具体步骤如下:
(4-1-1)、定义
Figure 637531DEST_PATH_IMAGE132
,记录归一化拐角点质心距离值的最小值,定义,记录
Figure 872520DEST_PATH_IMAGE132
对应的拐角点特征三维列向量的拐角点索引值,设取拐角点索引值为0的拐角点特征三维列向量,其表达式为:
把拐角点特征三维列向量
Figure 439954DEST_PATH_IMAGE135
中的归一化拐角点质心距离值
Figure 126150DEST_PATH_IMAGE136
赋值给,其表达式为:
Figure 384273DEST_PATH_IMAGE137
(4-1-2)、从拐角点索引值为1的拐角点特征三维列向量开始,按照拐角点索引值大小的顺序,比较每个拐角点的拐角点特征三维列向量中归一化拐角点质心距离值
Figure 309504DEST_PATH_IMAGE138
的大小,其中
Figure 47838DEST_PATH_IMAGE139
Figure 66610DEST_PATH_IMAGE079
为已知产品拐角点的总个数,若
Figure 416820DEST_PATH_IMAGE138
小于
Figure 444819DEST_PATH_IMAGE132
,则把
Figure 626401DEST_PATH_IMAGE138
赋值给
Figure 265674DEST_PATH_IMAGE132
,把
Figure 899918DEST_PATH_IMAGE140
赋值给
Figure 466029DEST_PATH_IMAGE133
,其表达式为:
Figure 705380DEST_PATH_IMAGE141
Figure 331534DEST_PATH_IMAGE142
(4-2)、计算所有拐角点特征三维列向量的序列索引值
Figure 453073DEST_PATH_IMAGE143
,其计算式如下:
                     (9)
式中,为拐角点索引值,
Figure 963055DEST_PATH_IMAGE079
为已知产品拐角点的总个数,为归一化拐角点质心距离值最小的拐角点特征三维列向量的下标值;
(4-3)、按照序列索引值的大小对所有拐角点特征三维列向量进行排序,得到已知产品的向量序列
Figure 417487DEST_PATH_IMAGE096
,存储在用于识别和分拣控制的计算机中,其具体步骤为:
(4-3-1)按照拐角点索引值的大小顺序,对由步骤(3)得到的拐角点特征三维列向量
Figure 428168DEST_PATH_IMAGE146
进行排列,得到的向量序列为
(4-3-2)记,得到:
Figure 390811DEST_PATH_IMAGE149
其中,为拐角点索引值,并且
Figure 332539DEST_PATH_IMAGE145
Figure 915968DEST_PATH_IMAGE143
为步骤(4-2)的得到的序列索引值,
Figure 618213DEST_PATH_IMAGE150
Figure 337907DEST_PATH_IMAGE074
Figure 647666DEST_PATH_IMAGE075
分别是三维列向量
Figure 656073DEST_PATH_IMAGE151
中的第一、二、三个值;
(4-3-3)按照序列索引值的大小对向量序列
Figure 549260DEST_PATH_IMAGE152
中的拐角点特征三维列向量重新排序,得到已知产品的向量序列,记为:
Figure 219800DEST_PATH_IMAGE153
                      (10)
(4-3-3)将已知产品的向量序列
Figure 777821DEST_PATH_IMAGE153
存储于计算机中。
5.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(5)所述的利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像,对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 369339DEST_PATH_IMAGE080
,其中,
Figure 1309DEST_PATH_IMAGE081
是Freeman链码的起始点像素坐标,
Figure 918449DEST_PATH_IMAGE003
为待分拣对象轮廓的像素点数目,
Figure 698186DEST_PATH_IMAGE009
为已知产品轮廓上像素点的索引值,
Figure 280346DEST_PATH_IMAGE005
Figure 94718DEST_PATH_IMAGE009
点链码值,
Figure 917181DEST_PATH_IMAGE154
为表示待分拣对象的记号,其具体步骤如下: 
(5-1)、利用工业摄像机对流水线上的待分拣对象进行拍摄,得到待分拣对象的图像,对图像进行滤波、分割、二值化处理后,得到待分拣对象的二值图像;
(5-2)、对二值图像中待分拣对象轮廓进行八方向Freeman链码编码得到Freeman链码
Figure 121897DEST_PATH_IMAGE080
,其具体为:在二值图像待分拣对象轮廓上,从像素坐标为
Figure 320797DEST_PATH_IMAGE081
的像素点起,沿着待分拣对象轮廓,按逆时针方向依次记录轮廓上第个像素点所对应的Freeman链码值
Figure 169991DEST_PATH_IMAGE005
,该记录的链码值
Figure 924320DEST_PATH_IMAGE005
所形成的序列
Figure 599015DEST_PATH_IMAGE080
为待分拣对象轮廓的Freeman链码,其中,是Freeman链码的起始点像素坐标,
Figure 552245DEST_PATH_IMAGE003
为待分拣对象的二值图像轮廓的像素点数目,
Figure 980821DEST_PATH_IMAGE009
为待分拣对象轮廓上像素点的索引值,
Figure 899415DEST_PATH_IMAGE009
点链码值,
Figure 234582DEST_PATH_IMAGE097
Figure 901186DEST_PATH_IMAGE154
为表示待分拣对象的记号。
6.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(7)所述的分别计算待分拣对象轮廓的每个拐角点的归一化拐角点质心距离值
Figure 980001DEST_PATH_IMAGE090
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 685437DEST_PATH_IMAGE091
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 457084DEST_PATH_IMAGE092
,其中,
Figure 407722DEST_PATH_IMAGE084
为拐角点索引值;
由归一化拐角点质心距离值
Figure 227911DEST_PATH_IMAGE090
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 580394DEST_PATH_IMAGE091
、拐角点的向后直方图中最大值对应的Freeman链码值
Figure 522943DEST_PATH_IMAGE092
构成一个待分拣对象的拐角点特征三维列向量
Figure 147828DEST_PATH_IMAGE093
,其具体步骤如下:
(7-1)、计算每个拐角点的归一化拐角点质心距离值
Figure 568445DEST_PATH_IMAGE090
(7-1-1)、计算待分拣对象拐角点质心的像素坐标,记为
Figure 41015DEST_PATH_IMAGE155
 ,其表达式为:
                               (12)
式中,为拐角点索引值,
Figure 241686DEST_PATH_IMAGE157
为待分拣对象拐角点的总个数,
Figure 774484DEST_PATH_IMAGE158
Figure 187011DEST_PATH_IMAGE159
分别为拐角点索引值为
Figure 152693DEST_PATH_IMAGE084
的拐角点的
Figure 334276DEST_PATH_IMAGE054
方向像素坐标和
Figure 523949DEST_PATH_IMAGE056
方向像素坐标;
(7-1-2)、计算每个拐角点与拐角点质心的像素距离,记为
Figure 610722DEST_PATH_IMAGE160
,其计算表达式为:
     
Figure 176833DEST_PATH_IMAGE161
                 (13)
式中,为拐角点索引值,分别为拐角点索引值为
Figure 533679DEST_PATH_IMAGE084
的拐角点的
Figure 424274DEST_PATH_IMAGE054
方向像素坐标和方向像素坐标,
Figure 20045DEST_PATH_IMAGE162
分别为拐角点质心的
Figure 141902DEST_PATH_IMAGE054
方向像素坐标和
Figure 109858DEST_PATH_IMAGE056
方向像素坐标; 
(7-1-3)、计算每个拐角点的归一化拐角点质心距离值;
对于拐角点索引值为
Figure 392941DEST_PATH_IMAGE084
的拐角点,它的归一化拐角点质心距离值记为
Figure 104545DEST_PATH_IMAGE090
,其具体步骤如下:
(7-1-3-1)、计算所有拐角点与拐角点质心的像素距离之和
Figure 969733DEST_PATH_IMAGE164
,其计算表达式为:
Figure 46273DEST_PATH_IMAGE165
                           (14)
式中,
Figure 629701DEST_PATH_IMAGE079
为待分拣对象拐角点的总个数,
Figure 879417DEST_PATH_IMAGE160
为拐角点索引值为的拐角点到拐角点质心的像素距离; 
(7-1-3-2)、对于拐角点索引值为
Figure 361400DEST_PATH_IMAGE084
的拐角点,计算它的归一化拐角点质心距离值
Figure 432124DEST_PATH_IMAGE090
,其表达式为:
Figure 423214DEST_PATH_IMAGE166
                               (15)
式中,
Figure 262994DEST_PATH_IMAGE164
为所有拐角点到拐角点质心的像素距离之和,
Figure 743654DEST_PATH_IMAGE160
为拐角点索引值为的拐角点到拐角点质心的像素距离;
(7-2)、计算每个拐角点向前的局部直方图和向后的局部直方图,然后找出每个拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 80143DEST_PATH_IMAGE091
,每个拐角点向后的局部直方图中最大值对应的Freeman链码值
(7-2-1)、根据Freeman链码
Figure 485378DEST_PATH_IMAGE086
和拐角点在链码中的链码索引值,计算每个拐角点向前的局部直方图和向后的局部直方图,一个链码索引值为
Figure 717645DEST_PATH_IMAGE009
、拐角点索引值为
Figure 112854DEST_PATH_IMAGE084
的拐角点,其向前的局部直方图定义为:
Figure 661647DEST_PATH_IMAGE167
                     (16)
式中,
Figure 687372DEST_PATH_IMAGE084
为拐角点的拐角点索引值,
Figure 954405DEST_PATH_IMAGE009
为拐角点在Freeman链码
Figure 153306DEST_PATH_IMAGE086
中的链码索引值, 
Figure 743556DEST_PATH_IMAGE111
,表示Freeman链码值的8个方向,
Figure 2499DEST_PATH_IMAGE112
为拐角点向前方向所取的点的个数, 
Figure 431523DEST_PATH_IMAGE114
表示链码索引值为
Figure 954908DEST_PATH_IMAGE115
的链码值,
其向后的局部直方图定义为:
Figure 547750DEST_PATH_IMAGE168
                     (17)
式中,为拐角点的拐角点索引值,为拐角点在Freeman链码
Figure 4773DEST_PATH_IMAGE109
中的链码索引值, 
Figure 733694DEST_PATH_IMAGE111
,表示Freeman链码值的8个方向,
Figure 812509DEST_PATH_IMAGE112
为拐角点向后方向所取的点的个数, 
Figure 500367DEST_PATH_IMAGE113
Figure 6434DEST_PATH_IMAGE114
表示链码索引值为
Figure 222652DEST_PATH_IMAGE115
的链码值,
Figure 42840DEST_PATH_IMAGE118
(7-2-2)、根据拐角点向前的局部直方图和向后的局部直方图,分别得出每个拐角点的向前的局部直方图中最大值对应的Freeman链码值
Figure 395324DEST_PATH_IMAGE091
,向后的局部直方图中最大值对应的Freeman链码值
Figure 337873DEST_PATH_IMAGE092
对于拐角点索引值为的拐角点来说,它的
Figure 383375DEST_PATH_IMAGE091
Figure 855945DEST_PATH_IMAGE092
的计算表达式为:
Figure 641498DEST_PATH_IMAGE169
                  (18)
式中,为拐角点索引值,
Figure 791037DEST_PATH_IMAGE009
为拐角点在Freeman链码中的链码索引值,
Figure 589414DEST_PATH_IMAGE170
为链码索引值为
Figure 1941DEST_PATH_IMAGE009
、拐角点索引值为
Figure 702044DEST_PATH_IMAGE084
的拐角点向前的局部直方图,
Figure 883626DEST_PATH_IMAGE171
为链码索引值为
Figure 338879DEST_PATH_IMAGE009
、拐角点索引值为
Figure 425652DEST_PATH_IMAGE084
的拐角点向后的局部直方图,
Figure 991763DEST_PATH_IMAGE172
为直方图
Figure 27852DEST_PATH_IMAGE173
中的最大值,为直方图
Figure 978807DEST_PATH_IMAGE175
中的最大值,
Figure 83030DEST_PATH_IMAGE176
为拐角点向前的局部直方图
Figure 423225DEST_PATH_IMAGE177
中的最大值对应的Freeman链码值,为拐角点向后的局部直方图中的最大值对应的Freeman链码值;
(7-3)、由归一化拐角点质心距离值
Figure 940291DEST_PATH_IMAGE090
、拐角点向前的局部直方图中最大值对应的Freeman链码值
Figure 950973DEST_PATH_IMAGE091
、拐角点向后的局部直方图中最大值对应的Freeman链码值
Figure 918929DEST_PATH_IMAGE092
,为每个拐角点构建一个拐角点特征三维列向量,其表达式:
Figure 202011DEST_PATH_IMAGE093
, 其中,
Figure 648036DEST_PATH_IMAGE084
为拐角点索引值。
7.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(8)所述的对由步骤(7)中得到的所有拐角点特征三维列向量
Figure 778803DEST_PATH_IMAGE094
进行排序,排序后的向量序列作为待分拣对象向量序列,记为,所述的
Figure 438772DEST_PATH_IMAGE079
为待分拣对象的拐角点数目,其具体步骤如下:
(8-1)、比较由步骤(7)得到的所有拐角点特征三维列向量中归一化拐角点质心距离值的大小,得到最小归一化拐角点质心距离值对应的拐角点特征三维列向量的拐角点索引值;
(8-1-1)、定义
Figure 688488DEST_PATH_IMAGE132
,记录归一化拐角点质心距离值的最小值,定义,记录对应的拐角点特征三维列向量的拐角点索引值,设取拐角点索引值为0的拐角点特征三维列向量,其表达式为:
Figure 241195DEST_PATH_IMAGE180
把拐角点特征三维列向量中的归一化拐角点质心距离值
Figure 72064DEST_PATH_IMAGE181
赋值给
Figure 552724DEST_PATH_IMAGE132
,其表达式为:
Figure 32116DEST_PATH_IMAGE182
(8-1-2)、从拐角点索引值为1的拐角点特征三维列向量开始,按照拐角点索引值大小的顺序,比较每个拐角点的拐角点特征三维列向量中归一化拐角点质心距离值
Figure 583500DEST_PATH_IMAGE132
的大小,其中
Figure 172744DEST_PATH_IMAGE139
Figure 218061DEST_PATH_IMAGE079
为待分拣对象拐角点的总个数,若
Figure 613270DEST_PATH_IMAGE138
小于
Figure 351943DEST_PATH_IMAGE132
,则把
Figure 439985DEST_PATH_IMAGE138
赋值给
Figure 707018DEST_PATH_IMAGE132
,把
Figure 578022DEST_PATH_IMAGE140
赋值给
Figure 246901DEST_PATH_IMAGE133
,其表达式为:
Figure 505844DEST_PATH_IMAGE183
Figure 181545DEST_PATH_IMAGE142
(8-2)、计算所有拐角点特征三维列向量的序列索引值
Figure 184136DEST_PATH_IMAGE143
,其计算式如下:
Figure 707521DEST_PATH_IMAGE184
                (19)
式中,为拐角点索引值,
Figure 51095DEST_PATH_IMAGE079
为待分拣对象拐角点的总个数,
Figure 591798DEST_PATH_IMAGE133
为归一化拐角点质心距离值最小的拐角点特征三维列向量的下标值;
(8-3)、按照序列索引值的大小对所有拐角点特征三维列向量进行排序,得到待分拣对象的向量序列,其具体步骤为:
(8-3-1)按照拐角点索引值的大小顺序,对由步骤(7)得到的拐角点特征三维列向量
Figure 757386DEST_PATH_IMAGE094
进行排列,得到的向量序列为
Figure 220728DEST_PATH_IMAGE185
(8-3-2)记
Figure 502805DEST_PATH_IMAGE186
,得到:
其中,
Figure 506850DEST_PATH_IMAGE084
为拐角点索引值,
Figure 910019DEST_PATH_IMAGE188
为步骤(8-2)的得到的序列索引值,
Figure 792524DEST_PATH_IMAGE090
Figure 145008DEST_PATH_IMAGE091
Figure 759660DEST_PATH_IMAGE092
分别是三维列向量
Figure 197594DEST_PATH_IMAGE189
中的第一、二、三个值;
(8-3-3)按照序列索引值的大小对向量序列
Figure 274802DEST_PATH_IMAGE190
中的拐角点特征三维列向量重新排序,得到待分拣的向量序列,记为:
Figure 388252DEST_PATH_IMAGE191
                      (20)。
8.根据权利要求1所述的一种用于具有拐角点特征的产品分拣的机器视觉识别方法,其特征在于,上述步骤(9)所述的对已知产品的向量序列和待分拣对象的向量序列进行判断,完成机器视觉的识别,其具体步骤如下: 
(9-1)、定义整型自变量
Figure 114134DEST_PATH_IMAGE192
(9-2)、读入已知产品的向量序列
Figure 398485DEST_PATH_IMAGE096
中第
Figure 545432DEST_PATH_IMAGE193
个拐角点特征三维列向量
Figure 511114DEST_PATH_IMAGE194
,读入待分拣对象的向量序列中第
Figure 400146DEST_PATH_IMAGE193
个拐角点特征三维列向量
Figure 299969DEST_PATH_IMAGE195
所述的已知产品的向量序列
Figure 53030DEST_PATH_IMAGE096
为:
Figure 483529DEST_PATH_IMAGE153
式中,
Figure 234316DEST_PATH_IMAGE079
为已知产品中的拐角点数目,
Figure 293539DEST_PATH_IMAGE196
为已知产品的向量序列
Figure 663340DEST_PATH_IMAGE096
中第0个拐角点特征三维列向量,其表达式为
Figure 68783DEST_PATH_IMAGE197
Figure 865837DEST_PATH_IMAGE198
为已知产品的向量序列
Figure 474673DEST_PATH_IMAGE096
中第1个拐角点特征三维列向量,其表达式为
Figure 572467DEST_PATH_IMAGE199
Figure 583148DEST_PATH_IMAGE200
依次类推;
所述的待分拣对象的向量序列
Figure 488787DEST_PATH_IMAGE095
为:
Figure 584919DEST_PATH_IMAGE191
式中,
Figure 296523DEST_PATH_IMAGE079
为待分拣对象中的拐角点数目,
Figure 801192DEST_PATH_IMAGE201
为待分拣对象的向量序列
Figure 940049DEST_PATH_IMAGE095
中第0个拐角点特征三维列向量,其表达式为
Figure 441919DEST_PATH_IMAGE202
Figure 957214DEST_PATH_IMAGE203
为待分拣对象的向量序列中第1个拐角点特征三维列向量,其表达式为
Figure 244342DEST_PATH_IMAGE205
依次类推;
(9-3)、计算读入的已知产品的拐角点特征三维列向量
Figure 297748DEST_PATH_IMAGE206
中的与待分拣对象的拐角点特征三维列向量
Figure 932702DEST_PATH_IMAGE195
中的
Figure 428406DEST_PATH_IMAGE208
之差的绝对值,记为
Figure 577847DEST_PATH_IMAGE209
,其表达式为:
Figure 786980DEST_PATH_IMAGE210
                                    (21)
式中,
Figure 438541DEST_PATH_IMAGE207
为已知产品的拐角点特征三维列向量
Figure 155961DEST_PATH_IMAGE206
中的归一化拐角点质心距离值;
Figure 551171DEST_PATH_IMAGE208
为待分拣对象的拐角点特征三维列向量中的归一化拐角点质心距离值;
(9-4)比较由步骤(9-3)得到的
Figure 440203DEST_PATH_IMAGE209
与阈值
Figure 707236DEST_PATH_IMAGE211
的大小,所述的阈值
Figure 93087DEST_PATH_IMAGE212
为0.01
Figure 257571DEST_PATH_IMAGE049
0.05;
Figure 250935DEST_PATH_IMAGE213
,则转到步骤(9-5),否则,该待分拣对象与已知产品不属于同一类产品,判断结束,完成机器视觉的识别;
(9-5)、计算拐角点向前的局部直方图的链码值差值
Figure 5264DEST_PATH_IMAGE214
                                  (22)
式中,
Figure 780508DEST_PATH_IMAGE216
为已知产品的拐角点特征三维列向量
Figure 944773DEST_PATH_IMAGE206
中的向前的局部直方图中最大值对应的Freeman链码值;
Figure 186399DEST_PATH_IMAGE217
为待分拣对象的拐角点特征三维列向量
Figure 664784DEST_PATH_IMAGE195
中的向前的局部直方图中最大值对应的Freeman链码值;
Figure 42676DEST_PATH_IMAGE048
为对中括号内的数值或表达式进行模8运算;
计算拐角点向后的局部直方图的链码值差值
Figure 106764DEST_PATH_IMAGE219
                                (23)
式中,
Figure 641038DEST_PATH_IMAGE220
为已知产品的拐角点特征三维列向量中的向后的局部直方图中最大值对应的Freeman链码值;
Figure 582766DEST_PATH_IMAGE221
为待分拣对象的拐角点特征三维列向量
Figure 533405DEST_PATH_IMAGE195
中的向后的局部直方图中最大值对应的Freeman链码值;
Figure 415910DEST_PATH_IMAGE048
为对中括号内的数值或表达式进行模8运算;
计算前后链码差值
Figure 955345DEST_PATH_IMAGE222
,其计算式为:
Figure 897893DEST_PATH_IMAGE223
                                  (24)
式中,
Figure 335828DEST_PATH_IMAGE214
为拐角点向前的局部直方图的链码值差值,
Figure 959707DEST_PATH_IMAGE218
拐角点向后的局部直方图的链码值差值;
(9-6)、判断由步骤(9-5)得到的前后链码差值
Figure 166697DEST_PATH_IMAGE222
是否等于0,若前后链码差值
Figure 280147DEST_PATH_IMAGE222
等于0,则转到步骤(9-7);
若前后链码差值
Figure 392328DEST_PATH_IMAGE222
不等于0,则再判断前后链码差值
Figure 616636DEST_PATH_IMAGE222
是否等于1, 若前后链码差值
Figure 943712DEST_PATH_IMAGE222
等于1,则转到步骤(9-7);
前后链码差值若
Figure 900167DEST_PATH_IMAGE222
不等于1,则再判断前后链码差值
Figure 312694DEST_PATH_IMAGE222
是否等于7,若前后链码差值
Figure 340693DEST_PATH_IMAGE222
等于7,则转到步骤(9-7),否则,该待分拣对象与已知产品不属于同一类产品,判断结束,完成机器视觉的识别;
(9-7)、自变量
Figure 522275DEST_PATH_IMAGE224
,判断自变量是否小于已知产品拐角点的总个数,若自变量
Figure 302516DEST_PATH_IMAGE225
小于已知产品拐角点的总个数
Figure 604184DEST_PATH_IMAGE079
,则转到步骤(9-2),否则,该待分拣对象与已知产品属于同一类产品,判断结束,完成机器视觉的识别。
CN 201210038518 2012-02-21 2012-02-21 一种用于具有拐角点特征的产品分拣的机器视觉识别方法 Active CN102615052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201210038518 CN102615052B (zh) 2012-02-21 2012-02-21 一种用于具有拐角点特征的产品分拣的机器视觉识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210038518 CN102615052B (zh) 2012-02-21 2012-02-21 一种用于具有拐角点特征的产品分拣的机器视觉识别方法

Publications (2)

Publication Number Publication Date
CN102615052A CN102615052A (zh) 2012-08-01
CN102615052B true CN102615052B (zh) 2013-12-25

Family

ID=46555456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210038518 Active CN102615052B (zh) 2012-02-21 2012-02-21 一种用于具有拐角点特征的产品分拣的机器视觉识别方法

Country Status (1)

Country Link
CN (1) CN102615052B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2514397B (en) * 2013-05-23 2017-10-11 Linear Algebra Tech Ltd Corner detection
CN103489192B (zh) * 2013-09-30 2017-01-11 北京林业大学 一种拟南芥叶片个数及叶片尖点到质心的距离的检测方法
CN104867141B (zh) * 2015-05-14 2018-11-09 浙江工业大学 一种连续生产中的无纺布袋自动定位方法
CN105931218B (zh) * 2016-04-07 2019-05-17 武汉科技大学 模块化机械臂的智能分拣方法
CN109711418B (zh) * 2019-01-29 2020-12-01 浙江大学 一种针对物体平面图像的轮廓角点检测方法
CN110110760A (zh) * 2019-04-17 2019-08-09 浙江工业大学 一种基于机器视觉的工件定位与识别方法
CN111994610B (zh) * 2020-08-08 2021-11-05 苏州麟琪程科技有限公司 物流输送机用自动甄选装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6580813B1 (en) * 1998-08-10 2003-06-17 W. Schlafhorst Ag & Co. Method and apparatus for detecting residual yarn on spinning cop tubes
CN101887582A (zh) * 2010-06-03 2010-11-17 西北工业大学 基于差别累加值及三点链码差的曲线拐角点检测方法
CN101916441A (zh) * 2010-08-06 2010-12-15 西北工业大学 一种数字图像中基于Freeman链码的曲线匹配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6580813B1 (en) * 1998-08-10 2003-06-17 W. Schlafhorst Ag & Co. Method and apparatus for detecting residual yarn on spinning cop tubes
CN101887582A (zh) * 2010-06-03 2010-11-17 西北工业大学 基于差别累加值及三点链码差的曲线拐角点检测方法
CN101916441A (zh) * 2010-08-06 2010-12-15 西北工业大学 一种数字图像中基于Freeman链码的曲线匹配方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种有效的基于Freeman链码的拐角检测法;张小莉等;《电子测量与仪器学报》;19990630;第13卷(第2期);第14页到第19页 *
基于分段链码的图像内容识别方法研究;杨海涛等;《计算机工程与应用》;20101130(第32期);第152页到第155页,第158页 *
张小莉等.一种有效的基于Freeman链码的拐角检测法.《电子测量与仪器学报》.1999,第13卷(第2期),第14页到第19页.
杨海涛等.基于分段链码的图像内容识别方法研究.《计算机工程与应用》.2010,(第32期),第152页到第155页,第158页.

Also Published As

Publication number Publication date
CN102615052A (zh) 2012-08-01

Similar Documents

Publication Publication Date Title
CN102615052B (zh) 一种用于具有拐角点特征的产品分拣的机器视觉识别方法
US10990191B2 (en) Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data
CN101887586B (zh) 基于图像轮廓尖锐度的自适应角点检测方法
CN101393605B (zh) 图像处理设备和图像处理方法
Ushani et al. A learning approach for real-time temporal scene flow estimation from lidar data
CN101493889B (zh) 对视频对象进行跟踪的方法及装置
WO2015136714A1 (ja) 画像識別装置、画像センサ、画像識別方法
CN102034114A (zh) 一种基于特征点检测的模板匹配跟踪方法
JP2001004368A (ja) 物体認識装置
CN106920259A (zh) 一种定位方法及系统
CN102722887A (zh) 一种图像配准方法及装置
CN102034355A (zh) 一种基于特征点匹配的车辆检测及跟踪方法
CN104268860A (zh) 一种车道线检测方法
CN110084830B (zh) 一种视频运动目标检测与跟踪方法
US10614321B2 (en) Travel lane detection method and travel lane detection device
JP2014009975A (ja) ステレオカメラ
CN107895166B (zh) 基于特征描述子的几何哈希法实现目标鲁棒识别的方法
KR101456172B1 (ko) 이동로봇의 위치인식 장치, 방법 및 이동로봇
Danescu et al. Lane geometry estimation in urban environments using a stereovision system
CN104732222B (zh) 一种基于深度摄像头的多特征人体识别方法
Romero-González et al. Inlida: A 3d lidar dataset for people detection and tracking in indoor environments
KR20130132128A (ko) 이동 로봇 및 이의 제어 방법
CN111932617A (zh) 一种对规则物体实现实时检测定位方法和系统
CN111862147A (zh) 视频中多车辆和多行人目标的跟踪方法
JP5345999B2 (ja) レーンマーク認識装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191111

Address after: 200333 Building 9, No. 505, Wuning Road, Putuo District, Shanghai

Patentee after: Shanghai robotics Industrial Technology Research Institute Co., Ltd.

Address before: 200444 Baoshan District Road, Shanghai, No. 99

Patentee before: Shanghai University

TR01 Transfer of patent right