一种基于格点排列的十字绣模板识别方法

文档序号:10535853阅读:456来源:国知局
一种基于格点排列的十字绣模板识别方法
【专利摘要】本发明公开了一种基于格点排列的十字绣模板识别方法,属于十字绣领域,对图像中的绣孔格点进行识别排列,方法步骤包括:步骤一、提取绣孔格点坐标设为点集D,移除点集D的内点,得到边界格点加入边界格点集;步骤二、在边界格点集中检测4个角落格点;步骤三、在求出4个角落格点之后,具有较小横坐标的2个格点为左下、左上角落格点,其中纵坐标较小的为左下角落格点,另一个则为左上角落格点;步骤四、从下向上、从左向右排列点集D中的格点,完成点集的格点排列。本发明通过采集十字绣图像,对十字绣上的绣孔坐标建立点集,并对点集进行排列,解决了十字绣模板中格点的排列问题,具有自动格点排列的优点,以便实现十字绣机绣的智能化。
【专利说明】
一种基于格点排列的十字绣模板识别方法
技术领域
[0001] 本发明属于十字绣技术领域,涉及图像识别方向,具体涉及一种基于格点排列的 十字绣模板识别方法。
【背景技术】
[0002] 十字绣是一种流行的以线程计算为核心的刺绣,它是全世界流行的一种刺绣 (Gillow John,and Sentance Bryan,World Textiles:A visual guide to traditional techniques, Thames&Hudson, 2005)。通常十字绣需要全手工制作完成,为使十字绣的制作 走向简单化、巨型化、批量化,Karen提出了一些相关的计算机视觉技术用于十字绣 (Graphics and Visualization within Cross-Stitch,Eurographics UK 1999Conference Proceedings , 129-141),其主要视觉化技术贡献在于将彩色信息映射到 格点上,用于产生十字绣模板。目前十字绣绣花机的智能性仍有待提高,它需要先用刺绣 CAD软件制版,然后在程序控制下,实现十字绣机绣作业。为了刺绣过程更加智能化、自动 化,刺绣模板首先需要通过计算机视觉技术进行自动识别。由于十字绣的模板为一织线可 数的织物,每个织线交叉重合的小矩形四周有4个供绣针穿刺的孔洞(绣点),从而,十字绣 模板的自动识别可归结为格点的排列。
[0003] 对于点的排列而言,它是计算机视觉领域的一个重要研究课题(Lezama等,A contrario 2D point alignment detection,Pattern Analysis and Machine Intelligence,IEEE Transactions on,2015(3):499-512)。点的排列之所以困难,在于需 要从检测点集中提取其蕴含的结构(Lezama等,A contrario 2D point alignment detection,Pattern Analysis and Machine Intelligence,IEEE Transactions on,2015 (3) :499-512),目前,即使是在点集中检测直线仍是一个有待研究的开放问题(Lv Jixin 等,Straight line segments extraction and EKF-slam in indoor environment, Journal of Automation and Control Engineering,2014,2(3):270-276;Zhang,Lijun 等,A straight line detection method based on edge following and line segments integration,IEEE International Conference on 2015 6th Software Engineering and Service Science(ICSESS), 2015: 297-300)。在相机标定经典文献中通常需要借助棋 盘模板中的格点来估计相机的参数,但是相机标定文献不涉及格点排列问题本身,而是令 其默认已知,也即在检测出格点之后,他们之间的相对位置关系默认已知,这对于十字绣 模板并不现实:一是十字绣模板上格点的数量众多,人工干预坐标排列不现实;二是模板的 姿态可能会倾斜或旋转,增加排列难度;三是织物本身存在一定程度的形变,如波纹状变 形,进一步增加排列难度;四是织物本身织线粗细可能存在误差,也会增加排列的难度。从 而十字绣模板中格点的排列是一个值得关注的问题。
[0004] 本发明针对十字绣模板,对模板中针孔进行排列,对其坐标相对位置进行识别,是 计算机视觉应用于十字绣智能化机绣的一项基础技术。

【发明内容】

[0005] 根据以上现有技术的不足,本发明所要解决的技术问题是提出一种基于格点排列 的十字绣模板识别方法,通过采集十字绣图像,通过图像处理技术得到十字绣上的绣孔坐 标点集之后,对点集进行排列,解决了十字绣模板中格点的排列问题,具有自动排列格点的 优点,以便实现十字绣机绣的智能化。
[0006] 为了解决上述技术问题,本发明采用的技术方案为:一种基于格点排列的十字绣 模板识别方法,对十字绣模板拍照得到格点图像,检测格点坐标,对图像中的绣孔格点进行 识别排列。所述识别方法步骤包括:步骤一、设绣孔格点坐标提取后,为点集D,移除点集D的 内点,得到边界格点,将边界格点加入边界格点集;步骤二、在边界格点集中检测4个角落格 点;步骤三、在求出4个角落格点之后,具有较小横坐标的2个格点为左下、左上角落格点,其 中纵坐标较小的为左下角落格点,另一个则为左上角落格点;步骤四、从下向上、从左向右 排列点集D中的格点,完成点集中的格点排列。
[0007] 上述方法中,所述方法步骤一中的移除方法为:遍历点集D中所有点,对于点集D中 的某格点,将图像坐标系的坐标原点平移到该格点处,如果平移后坐标系的某个象限内不 包含点集的任何格点,则判定该格点是边界格点。所述方法步骤二中角落格点的检测方法 为:对于每一个边界格点,将其与格点集D中的4-邻域相邻格点相连,连线两两之间的夹角 中边界邻边构成的夹角最大,记为格点处的夹角,将所有边界格点处的夹角从小到大排序, 最小的4个夹角对应的格点即为4个角落格点。所述方法步骤四中的格点排列方法为:从左 下角落格点开始从下向上搜索排列格点阵的第1列,并将其从待排列点集中移除;重复步骤 一,在更新后的排列点集中检测边界格点集,左下角落格点更新为新边界格点集中与原左 下角落格点距离最近的格点,左上角落格点更新为新边界格点集中与原左上角落格点距 离最近的格点;从新的左下角落点开始从下向上搜索排列格点阵的第2列;循环执行,逐列 排列点集中的格点。
[0008] 所述方法步骤四中的从左下角落点开始从下向上搜索排列格点阵的排列,包括非 最后列上格点的排列方式与最后列上格点的排列方式。所述非最后列上格点的排列方式 为:步骤1、将已排列的左下角落格点从点集D中移除形成待排列点集,在待排列点集中,从 当前格点出发,求其最近的3个或4个相连格点,其中位于当前格点的上部且横坐标最小的 格点为当前格点的下一格点;步骤2、重复上述步骤二中角落格点搜索过程,直到当前格点 更新为左上角落格点;如果当前格点首次更新为左上角落格点,搜索域更新次数m即为点集 (点阵)的行数。所述最后列上格点的排列方式为:步骤1:在搜索域中,与当前格点距离最近 的格点即为当前格点的下一格点;步骤2:更新当前格点;重复上述步骤1、步骤2,直到最后 一个格点被排列完毕。
[0009] 本发明有益效果是:本发明给出了一种基于格点排列的十字绣模板识别方法,本 发明将十字绣模板的识别归结为刺绣针孔格点的排列,对模板中绣孔坐标的相对位置进行 识别。该排列方法首先移除内点得到边界点;其次在边界点集中检测四个角落点;再次,在4 个角落点中定位出左下和左上角落点;最后,从左下角落点开始从下向上、从左至右进行搜 索,对格点进行逐步排列,完成十字绣模板的格点排列工作,以便实现十字绣机绣的智能 化。
【附图说明】
[0010] 下面对本说明书附图所表达的内容及图中的标记作简要说明:
[0011] 图1是本发明的【具体实施方式】的十字绣模板图像的边界提取图。
[0012] 图2是本发明的【具体实施方式】的内点滤除示意图。
[0013] 图3是本发明的【具体实施方式】的角落格点的检测示意图。
[0014] 图4是本发明的【具体实施方式】的左下角落格点和左上角落格点示意图。
[0015] 图5是本发明的【具体实施方式】的格点排列检测方向示意图。
[0016] 图6是本发明的【具体实施方式】的格点排列方法示意图
【具体实施方式】
[0017] 下面对照附图,通过对实施例的描述,本发明的【具体实施方式】如所涉及的各构件 的形状、构造、各部分之间的相互位置及连接关系、各部分的作用及工作原理、制造工艺及 操作使用方法等,作进一步详细的说明,以帮助本领域技术人员对本发明的发明构思、技 术方案有更完整、准确和深入的理解。
[0018] -种基于格点排列的十字绣模板识别方法,将十字绣模板平置于黑色背景上,经 正面拍摄成像,图像中格点的坐标经由Harris角点检测得到。设十字绣上的绣孔坐标已经 通过图像处理技术提取出来,设为点集D={cU},本发明所要解决的问题是对所有的cU的坐 标进行排列,识别它们之间的相邻关系,以便实现十字绣机绣的智能化。
[0019] 本发明将十字绣绣孔的识别问题归结为格点排列问题,在杂乱无序的格点中搜索 感兴趣点,并逐一填入排列矩阵,方法如下:假设模板上待排列的格点已经排列完毕,它们 Pn Pn Pin 从上到下、从左至右的排列矩阵为P:尸_=. A21 1"" 其中Pij = (Xij,yij),(i = l, Pmi '** Pmn-_ 2,…,m,j = l,2,…,n)是格点在模板中第i行第j列的坐标。对于所有位于第i行的格点,它 们位于同一水平线上。类似地,对于所有位于第j列的格点,它们位于同一垂直线上。在检测 了模板中所有格点的坐标之后,格点的排列等价于模板中拟合线的提取,也即:格点被正确 排列后,根据排列矩阵P可以得出所有水平和垂直拟合线。
[0020] 该排列方法的梗概如图1-5所示。首先,移除内点,得到边界点,如图1、2所示;其次 在边界点集中检测四个角落点,如图3中4个黑色点所示;再次,在4个角落点中定位出左下 和左上角落点,如图4所示;最后,从左下角落点开始从下向上、从左至右进行搜索,对格点 进行排列,如图5所示。
[0021] 格点排列算法:
[0022] 步骤一、滤除内点:提取绣孔格点坐标设为点集D,移除点集D的内点,得到边界格 点。移除方法为:遍历点集D中所有点,将坐标原点平移至该格点cUiUuyO,如果平移后坐 标系的某个象限内不包含点集的任何格点,如图2所示,则判定该格点为边界格点,将其加 入〇:,其中Di是边界格点集。内点处建立的坐标系其4个象限都含有格点,如图2中P点处4个 象限中均包含十字形的格点;边界格点处建立的坐标系下,某个象限内无格点,如点Q处所 示第2象限内不包含任何格点。
[0023]步骤二、检测P的4个角落格点,即边界格点集口:的四个角落格点。角落格点的检 测方法为:
[0024]对于每一个边界格点,将其与格点集D中4-邻域相邻格点相连(如图6中0i处格点 所示,它有3个4-邻域格点),连线两两之间的夹角中,边界邻边构成的夹角最大,记为格点 处的夹角(如图6中0:所示),将所有边界格点处的夹角从小到大排序,最小的4个夹角对应 的格点即为4个角落格点。
[0025]步骤(1):对于任意的di GDi,( i = 1,2,…,nb),求其在D中的最近的3个邻近格点
[0026]步骤(2):求di与4 (灸=1,2,3)相连的三个向量:v% = ^
[0027]步骤(3):求出上述3个向量所成夹角的最大夹角0:,如图6所示:
[0028] C 二 max jarccos〈v; , i';.〉,arccos〈v,.. , V''.〉"111以)5〈1:.,v,.〉j>
[0029] 步骤(4):对心卽工遍历可得{0i},设 0 = {' …}, 则@_4 中最小的四个元素,它们对应的4个格点即为P的4个角落点, 如图6中所示:%对应于P中格点Pmn,也即:
[0030] ( P\ | - P\" - P:"\?. P,,,,, ) = j ai i (h e ?min ( , / = 1, 2, J. 4 j = E
[0031] 步骤三、确定pn和pml:在求出4个角落格点之后,E中4个格点中横坐标最小的2个 格点为P11和Pml,其中具有较小纵坐标的为左下角落格点P11,记为Pld;另一个即为左上角落 格点Pml,T己为Plu。
[0032] 步骤四、确定排列矩阵P:从下向上、从左向右排列点集D中的格点,完成点集中的 格点排列。具体的格点排列方法为:从左下角落格点开始从下向上搜索排列格点阵的第1 列,并将其从待排列点集中移除;重复步骤一,在更新后的排列点集中检测边界格点集,左 下角落格点更新为新边界格点集中与原左下角落格点距离最近的格点,左上角落格点更新 为新边界格点集中与原左上角落格点距离最近的格点;从新的左下角落点开始从下向上搜 索排列格点阵的第2列;循环执行,逐列排列点集中的格点。
[0033] 从左下角落点开始从下向上搜索排列格点阵的排列,包括非最后列上格点的排 列方式与最后列上格点的排列方式。非最后列上格点的排列方式为:将已排列的左下角落 格点从点集D中移除形成待排列点集,在待排列点集中,从当前格点出发,求其最近的3个或 4个相连格点,其中位于当前格点的上部且横坐标最小的格点为当前格点的下一格点;重复 上述过程,直到当前格点更新为左上角落格点;如果当前格点首次更新为左上角落格点,搜 索域更新次数m即为点集(点阵)的行数。最后列上格点的排列方式为:在搜索域中,与当前 格点距离最近的格点即为当前格点的下一格点;在更新当前格点之后,重复上述过程,直到 最后一个格点被排列完毕。
[0034]步骤四的具体方法:
[0035]步骤(1):将搜索域更新为D与pn的差集:Dn = D-pn,求pn在Dn中的最近的3个相 连格点,其中横坐标最小的格点为P21,如图6中情形1所示。接下来更新搜索域:D21 = D11-P21, 当前工作格点(即搜索格点)更新为:p21,求p21在D21中最近的4个相连格点,其中在p 21的上部 且横坐标最小的格点为p31,如图6中情形2所示。重复上述8-邻域4格点搜索过程,直到当前 工作格点已更新为Pi u,如图6中情形3所示。此时搜索域更新次数m即为矩阵P的行数,然后执 行步骤(2)。
[0036]步骤(2):确定p12。重复步骤一和步骤二,求出搜索域Dml的4个角落点,其中最邻近 Pld的格点即为P12。在确定P12之后,将Pld更新为P12 ;类似地,将Plu更新为Pm2。从P12开始,重复 步骤四中的步骤(1 )和步骤(2),直到搜索域中的格点数为H1时,执行步骤3 .
[0037]步骤(3):从当前格点pln开始,在搜索域中,与其距离最近的格点即为p2n,如图6中 情形4所示。更新当前节点为p2n,当前搜索域为D2n = Dln-p2n,重复上述过程直到pmn被处理完 毕。
[0038]上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式 的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改 进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。本发 明的保护范围应该以权利要求书所限定的保护范围为准。
【主权项】
1. 一种基于格点排列的十字绣模板识别方法,其特征在于,对十字绣模板拍照检测得 到格点图像,对图像中的绣孔格点进行识别排列,所述识别方法步骤包括: 步骤一、提取绣孔格点坐标设为点集D,移除点集D中的内点,得到边界格点及边界格点 集; 步骤二、在边界格点集中检测4个角落格点; 步骤三、在求出4个角落格点之后,具有较小横坐标的2个格点为左下、左上角落格点, 其中纵坐标较小的为左下角落格点,另一个则为左上角落格点; 步骤四、从下向上、从左向右排列点集D中的格点,完成点集D中格点的排列。2. 根据权利要求1所述的基于格点排列的十字绣模板识别方法,其特征在于,所述方法 步骤一中的移除方法为:遍历点集D中所有格点,对于点集D中的某格点,将图像坐标系的坐 标原点平移到该格点处,如果平移后坐标系的某个象限内不包含点集的任何格点,则判定 该格点是边界格点。3. 根据权利要求1所述的基于格点排列的十字绣模板识别方法,其特征在于,所述方法 步骤二中角落格点的检测方法为:对于每一个边界格点,将其与格点集D中的4-邻域相邻格 点相连,连线两两之间的夹角中边界邻边构成的夹角最大,记为格点处的夹角,将所有边界 格点处的夹角从小到大排序,最小的4个夹角对应的格点即为4个角落格点。4. 根据权利要求1所述的基于格点排列的十字绣模板识别方法,其特征在于,所述方法 步骤四中的格点排列方法为:从左下角落格点开始从下向上搜索排列格点阵的第1列,并将 其从待排列点集中移除;重复步骤一,在更新后的排列点集中检测边界格点集,左下角落格 点更新为新边界格点集中与原左下角落格点距离最近的格点,左上角落格点更新为新边界 格点集中与原左上角落格点距离最近的格点;从新的左下角落点开始从下向上搜索排列格 点阵的第2列;循环执行,逐列排列点集中的格点。5. 根据权利要求1所述的基于格点排列的十字绣模板识别方法,其特征在于,所述方法 步骤四中的从左下角落点开始从下向上搜索排列格点阵的排列,包括非最后列上格点的排 列方式与最后列上格点的排列方式。6. 根据权利要求5所述的基于格点排列的十字绣模板识别方法,其特征在于,所述非最 后列上格点的排列方式为:步骤1、将已排列的左下角落格点从点集D中移除形成待排列点 集,在待排列点集中,从当前格点出发,求其最近的3个或4个相连格点,其中位于当前格点 的上部且横坐标最小的格点为当前格点的下一格点;步骤2、重复上述步骤二中角落格点搜 索过程,直到当前格点更新为左上角落格点;如果当前格点首次更新为左上角落格点,搜索 域更新次数m即为点集的行数。7. 根据权利要求5所述的基于格点排列的十字绣模板识别方法,其特征在于,所述最后 列上格点的排列方式为:步骤1:在搜索域中,与当前格点距离最近的格点即为当前格点的 下一格点;步骤2:更新当前格点;重复上述步骤1、步骤2,直到最后一个格点被排列完毕。
【文档编号】G06T7/00GK105894518SQ201610256430
【公开日】2016年8月24日
【申请日】2016年4月22日
【发明人】丁新涛, 胡桂银, 罗永龙, 郭良敏, 接标, 郑孝遥
【申请人】安徽师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1