一种过程式计算机辅助乱针绣制作方法与流程

文档序号:14714691发布日期:2018-06-16 01:06阅读:453来源:国知局
一种过程式计算机辅助乱针绣制作方法与流程

本发明属于计算机图像处理与计算机图形学技术领域,尤其涉及一种过程式计算机 辅助乱针绣制作方法。



背景技术:

乱针绣是我国现代新兴刺绣艺术,其以针法活泼,线条流畅,层次感强的独特风格 驰名中外。乱针绣运针自如,施展空间大,一改传统刺绣针法“密接其针,排比其线” 的方法,而采用纵横交叉、长短不一、疏密重叠、灵活多变的针法刺绣出来的立体画面, 实现“画理”和“绣理”的有机结合,将摄影、油画和素描等视觉稿本再现成具有独特 线条美和立体感的刺绣艺术作品。然而乱针绣目前主要依靠手工创作,从业人员学习周 期长,因此为用户提供模拟乱针绣绣制过程的软件对保护和推广该技艺有重要的意义。

尽管大量工作针对刺绣针迹生成问题展开了研究,它们主要集中在传统刺绣上,如 文献1,李俊,张华,王崇骏:智能化刺绣CAD系统中的工作流技术研究.计算机科 学,2005,32(3):97-100.所述的日本的Tajima、德国的ZSK、美国的Wilcom等刺绣打版 系统,往往需要人工交互编辑每个针迹的坐标序列,且生成的针迹排布规整,仅能处理 简单的图案。

而乱针绣制作过程特点主要包括如下几点:1.针针交叉,绣线相互交错;2.单层针 迹生成,乱针绣对区域与边缘使用不同的绣制策略;3.分层叠加,乱针绣绣制过程中是 层层细化的,上层使用更细更短的线条,如在绣制鹰的过程中,会先绣制前景鹰和背景, 然后再细化鹰的眼睛,鼻子等部位。针对上述特点,采用过程化方式解决乱针绣针迹生 成至少需要解决三个主要技术问题:基元定义:定义不同绣线间的交叉方式作为基本针 迹聚集单元;单层绘制:乱针绣在区域内部主要表现区域纹理方向,而边缘则很好地保 持了图像结构;多层叠加:单层针迹间的相互叠加,保证针迹均匀分布。现有技术也涉 及上诉问题,但由于乱针绣的特点使得现有技术无法满足乱针绣的要求。如基元设计, 如文献2Lu J,Barnes C,Diverdi S,et al.RealBrush:painting with examples of physical media[J].Acm Transactions on Graphics,2013,32(4):117.设计弯曲的单根笔触,但乱针绣 的线条必须是直线且必须针针交叉,而且区域内部和边缘部分有不同的交叉类型;如单 层的基元排布问题,文献3Secord A.Weighted voronoi stippling[C]//Proceedings of the 2nd international symposium on Non-photorealistic animation and rendering.ACM,2002:37-43. 能将画面分成多个大小相同的单元,但不能表现图像中纹理方向也没有对边缘拟合;而 基元的多层叠加研究相对来说较少,文献4Hays J,Essa I.Image and video based painterly animation[C]//Proceedings of the 3rd inter-national symposium on Non-photorealistic animation and rendering.ACM,2004:113-120.不同层间的笔触是相互独立的,而乱针绣 的针迹需要考虑绣面现有针迹,当前针迹需与绣面针迹插空放置来保证绣线分布均匀。

由于乱针绣的特殊性,国内很少有计算机辅助制作的研究,中国专利“一种计算机 辅助乱针绣制作方法”,专利号:ZL201010175217.8,中国专利“一种采用遗传算法的 计算机辅助乱针绣制作方法”,专利号:ZL201310211288.2,中国专利“一种基于反应 扩散过程的计算机辅助乱针绣制作方法”,专利号:ZL201310456178.2,中国专利“采 用模糊聚类和随机行走的计算机辅助乱针绣制作方法”,专利号:ZL201310539428.9, 和文献5Yang K,Sun Z.Paint with stitches:a style definition and image-based rendering method for random-needle embroidery[J].Multimedia Tools&Applications,2017(11):1-34. 等。上述专利中都定义了相应的针法模型,第一个专利侧重于绣线颜色库的建立;第二 个专利通过遗传算法优化适应度函数得到针法模型中的高层参数和针迹序列;第三个专 利建立了针迹与针迹间的拓扑关系,通过5个扩散因子有效的控制针迹方向、长度及颜 色排布策略表现不同的针法要求;第四个专利构建了基元参数与图像特征间的映射关系; 文献5的工作集中在模拟乱针绣的渲染效果。上述方法主要集中在表现乱针绣的工艺效 果,并没有模拟乱针绣层层细分的针迹生成过程。



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种过程式计 算机辅助乱针绣制作方法。

为了解决上述技术问题,一种过程式计算机辅助乱针绣制作方法,包括以下步骤:

步骤1,乱针绣的交叉针基元定义:参数化定义乱针绣单根绣线、两根绣线的交叉 方式,得到交叉针基元;

步骤2,图像分割以及图像特征提取:以彩色图像作为输入,提取对象区域,并计 算区域纵横比,同时提取矢量场;

步骤3,生成单层针迹:对每个对象区域生成针迹,对其分别生成内部和边缘针迹, 在区域内部,首先计算交叉针数目和交叉针长度和角度,再通过对区域的多次迭代计算 对应的维诺图从而确定交叉针的交点坐标,根据交叉针参数计算相应的交叉针落点坐标; 在边缘部分,先对边缘采样,得到采样点,再计算边缘交叉针落点坐标,最终针迹是由 多个交叉针基元组成的针迹集合H。

步骤4,生成多层针迹:计算当前区域覆盖率Ocur,判断当前区域是否满足用户定 义的覆盖率Om,如果满足,则终止当前对象区域的针迹生成,得到乱针绣绣品针迹序 列,执行步骤5;如果不满足,则先调整交叉针参数,再更新密度场,使用步骤3的方 法再次生成针迹;

步骤5,将步骤4中得到的乱针绣绣品针迹序列转换为电脑刺绣机使用的以毫米为 单位的坐标格式,将其输入电脑刺绣机,从而得到实际的乱针绣绣品。

步骤1包括:

参数化定义交叉针模型η={l1,l2,pm,θ,w,c,k},其中pm为交叉针的交点坐标,w代 表交叉针线条的宽度,c代表交叉针线条的颜色,κ代表交叉针线条的种类,θ表示交叉 针的交叉角度,l1=(ps1,pe1)代表第一根线条,ps1,pe1分别表示第一个线条的起点坐 标和终点坐标,l2=(ps2,pe2)代表第二根线条,ps2,pe2分别表示第二个线条的起点坐 标和终点坐标。

步骤2包括:

对输入的彩色图像,采用图像解析方法将图像分割成不同的对象区域集合Rm并计 算每个对象区域的纵横比Pm和区域面积Sm,其中m=1,…,M,M为对象区域集合的总 数,采用边缘切向流方法提取区域矢量场φ,为每个像素赋值[0,π)。

步骤3包括以下步骤:

步骤3-1:对象区域针迹生成参数初始化:当前层次Γ=1;交叉针线条的长度L由 用户确定,令LΓ=L,其中LΓ代表当前层绣线长度,而交叉角度θ的计算方法公式如下:

θ=tan-1Pm;

其中Pm为第m个区域的纵横比。令θΓ=θ,其中θΓ代表当前层交叉针交叉角度,设 置变量ρ代表密度图,密度图的大小和输入彩色图像的大小相同,像素的初始值为40; 设置变量Υ图作为覆盖率辅助,变量Υ图中每个像素初始值为0;

步骤3-2:随机生成区域交叉针中心点坐标:通过如下公式计算当前区域基元数目 K:

其中Sm为第m个区域的面积。在区域Rm中随机生成K个点,得到初始基元交叉点 集合U={u1,…,uk,…,uK},其中uk=(ukx,uky)代表第k个点的坐标,然后计算集合U对 应的维诺图;

步骤3-3:区域内部交叉针坐标计算:根据步骤3-1中的参数,计算每个交叉针相 应的落点坐标;对于区域内部第k个交叉针,计算得到其起点、终点坐标;

步骤3-4:边缘采样:使用Douglas-Peucker算法对区域边缘采样,得到采样点集合 E={e1,…,ej,…,en};其中ej是第j个采样点,坐标为(ejx,ejy),j取值范围为1~n;;

步骤3-5:计算边缘交叉针坐标,得到边缘交叉坐标信息;

步骤3-6:计算交叉针集合中其他属性值:通过步骤3-1~步骤3-5得到区域内部和 边缘的交叉针,相应的交叉针集合为η={ηi:i=1~N},其中N为交叉针的数目,每个 组合ηi={li1,li2,θi,wi,ci,ki}中还需确定颜色,宽度与类型,交叉针中绣线颜色则为交 叉针交点pmi处的颜色col,则有交叉针线条的颜色ci=col;对于绣线宽度wi,如果当 前区域的绣面覆盖率Ocur>0.6,wi=1,否则wi=2;对于交叉针的交叉类型κi,如 果为y型交叉针,κi=1,否则κi=0;

步骤3-7:最终得到当前区域Rm的单层针迹,对集合中所有对象区域执行步骤3-1~ 步骤3-6,得到整体对象的单层针迹。

步骤3-2中所述计算集合U对应的维诺图,具体包括如下步骤:

步骤3-2-1:计算集合U所对应的维诺图:向现有的维诺图生成方法添加形状约束和 方向约束,生成满足乱针绣工艺的维诺图,得到K个单元格,集合表示形式为 V={V1,…,Vk,…,VK},Vk表示第k个单元格;

步骤3-2-2:更新交叉针中心点坐标:通过如下公式计算离散区域几何矩mh,g:

其中,

x=(x,y),x代表二维坐标系中的坐标,x代表在坐标系横轴上的值,而y代表在坐 标系纵轴上的值,ρ(x,y)代表在密度图上x点的密度值,X代表单元格在坐标系横轴上 的个数,Y代表单元格在坐标系纵轴上的个数,xh代表在x上h阶矩,yg代表在y上的g阶 矩;

通过如下公式分别计算m0,0、m1,0以及m0,1:

其中m0,0代表单元格的面积,m1,0代表x的一阶矩,m0,1代表y上的一阶矩。计算第 k个子区域Vk的重心点坐标bk=(xk,yk):

最后得到子区域重心坐标集合B={b1,…,bk,…,bK};

步骤3-2-3:判断是否收敛:通过如下公式计算当前代价函数F(B):

其中|uk-bk|代表uk与bk的距离,这里采用欧式距离计算公式:

其中p1=(x1,y1),p2=(x2,y2)是在二维平面中任意的两个点,更新重心坐标集合, 令uk=bk;如果当前的代价函数结果小于阀值0.01,则迭代结束;否则回到步骤3-2-1。

步骤3-3包括如下步骤:

步骤3-3-1:对第k个基元中的第一根绣线的底层参数为而第二根 绣线的底层参数为交点坐标pmk=uk;

步骤3-3-2:如下公式计算第k个基元中的第一根绣线的起点坐标终点坐标

其中ukx代表集合U中uk的横轴坐标,而uky代表集合U中uk的纵轴坐标;φuk代表 在矢量图上坐标为uk的朝向;

步骤3-3-3:如下公式计算第k个基元中的第二根绣线的起点坐标终点坐标

步骤3-3-4:对于基元集合H中的任意两个基元ηi与ηj,其中i≠j,基元集合为最终 针迹,ηi的落点与ηj的落点会有两种情况出现:第一种是两个基元间出现相交,即基元 中存在相交的线条;第二种则是两个基元间不存在两根线条相交,第一种情况是满足乱 针绣工艺特点,而对于第二种情况需要对其优化:找出相邻两个基元中距离最近的两个 落针点p1,p2,将p1,p2的中点坐标作为p1=p2的坐标,以减少落针次数。

步骤3-5包括如下步骤:

步骤3-5-1,从集合E中取出相邻的两点ei,ei+1,将它们连接作为边缘交叉针中第一 根线条,则其中分别为第一根绣线的起点坐标和终点坐 标;

步骤3-5-2,计算另一根线条的起点坐标,将第一根线条的中点作为当前线条的起 点,该点的坐标计算公式如下:

步骤3-5-3,更新边缘交叉针交点坐标使用欧式距离计算第一根线条的 长度得到len,而另一个点的坐标计算公式如下:

其中为第二根绣线的终点,为点的横轴坐标,为点的纵轴坐标,为矢量图上点处的朝向;

从而得到边缘交叉坐标,将生成的区域交叉针和边缘交叉针加入到基元集合H中。;

步骤4包括以下步骤:

步骤4-1:计算当前区域覆盖率:对于步骤3中得到的单层针迹,如果是第一次生 成针迹则将其直接保存,否则将本层的针迹叠加到现有针迹上;检查绣面的上像素覆盖 率,使用Bresenham算法将所有针迹以黑色绘制到图Υ上;统计图Υ上被绘制的像素个 数pxielo,计算图Υ上所有像素数目pxiela,则当前绣布的覆盖率Ocur计算公式如下:

步骤4-2:判断当前针迹是否满足要求:如果Ocur>Om则满足要求,结束对该区域 的迭代,Om为用户设置的覆盖率,否则进行参数更新,更新交叉针的长度与交叉角度, 长度更新公式如下:

LΓ+1=0.8×LΓ,

LΓ+1表示更新后的交叉针的长度;

角度更新公式如下:

θΓ+1=0.8×θΓ,

θΓ+1表示更新后的交叉角度;

更新密度场,对于绣线经过的所有像素p,密度更新公式如下:

ρ(p)=ρ(p)-2;

其中p为密度图上的像素点,更新当前层数,计算公式如下:

Γ=Γ+1;

然后返回步骤3-2继续生成单层针迹。

本发明提出了一种过程式计算机辅助乱针绣制作方法,根据乱针绣层层细化的思想, 首先根据乱针绣的交叉特点定义区域交叉针和边缘交叉针;再设计单层针迹生成方法, 区域交叉针聚集表现区域纹理方向,边缘针间相互交叉拟合边缘;最后将单层针迹相互 叠加得到最终针迹。

有益效果:本发明能更好地表现乱针绣工艺特点。边缘针迹的拟合能更好地表现图 像结构;而区域内部的针迹排布更好地表现了纹理特点;同时采用层层叠加的策略更好 地模拟了乱针绣真实绣制过程,用户可以更好地理解乱针绣。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其 他方面的优点将会变得更加清楚。

图1是本发明的处理流程示意图。

图2a为区域交叉针,图2b为边缘交叉针。

图3为输入图像。

图4为本发明的对象区域提取结果。

图5为本发明的区域矢量场提取结果。

图6为单层针迹生成结果。

图7为本发明最终乱针绣绣制效果图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1所示,本发明公开的一种基于联合分割的三维模型构件的自动提取方法,具 体包括以下步骤:

步骤一,乱针绣的交叉针基元定义:参数化定义乱针绣单根绣线,两根绣线的交叉 方式得到交叉针基元η={l1,l2,pm,θ,w,c,k},其中pm为交叉针的交点坐标,w代表交叉 针线条的宽度,c代表交叉针线条的颜色,κ代表交叉针线条的种类,l1=(ps1,pe1)代 表第一根线条,l2=(ps2,pe2)代表第二根线条,ps和pe分别代表交叉针的起点坐标和 终点坐标,上标的1,2分别代表第一根绣线和第二根绣线;

步骤二,图像分割以及图像特征提取:以彩色图像作为输入,提取包括对象区域Rm, 并计算相关属性区域覆盖率Om、纵横比Pm和区域面积Sm,其中m=1,…,M;同时根据 图像纹理提取矢量场φ,为每个像素赋值[0,π);

步骤三,单层针迹生成:对对象区域Rm内部和边缘分别生成针迹。区域内部,首 先计算交叉针数目K和交叉针长度L和角度θ,再通过多次迭代确定交叉针的交叉点坐标, 再结合交叉针的长度和角度计算交叉针的落点坐标;边缘部分,先对边缘采样,得到边 缘采样点E,生成边缘交叉针的第一根线条,再结合边缘交叉针的属性计算边缘交叉针 的第二根线条。最后根据交叉针所在位置和绣面的覆盖率计算所有交叉针的绣线颜色c 和宽度w。

步骤四,多层针迹生成:计算当前区域覆盖率Ocur,判断当前区域是否满足用户定 义的覆盖率,如果满足,则终止当前对象区域的针迹生成;如果不满足,则先调整交叉 针参数,再更新密度场,最后使用步骤三的方法再次生成针迹。

步骤五,将步骤三中得到的乱针绣绣品针迹序列转换为电脑刺绣机使用的以毫米为 单位的坐标格式,将其输入电脑刺绣机,从而得到实际的乱针绣绣品。

1.定义交叉针

步骤11:乱针绣中区域内部与边缘的绣制方法是不一样的,区域交叉针则是为了能 更好地表现方向性,而边缘交叉针是为了更好地拟合边缘。这里通过参数化定义交叉针 模型η={l1,l2,pm,θ,w,c,k},pm为交叉针的交点坐标,w代表交叉针线条的宽度,c代 表交叉针线条的颜色,κ代表交叉针线条的种类,l1=(ps1,pe1)代表第一根线条, l2=(ps2,pe2)代表第二根线条,pm和pe分别代表交叉针的起点坐标和终点坐标上标的 1,2分别代表第一根绣线和第二根绣线,最终针迹是由多个交叉针基元组成的针迹集合 H。

2.特征提取

步骤21:在乱针绣中,不同的区域其绣法也不同,所以需要将输入的彩色图像分 割成不同的对象区域,并对不同的对象区域采用不同的针法参数以得到最终的绣制结果。 本发明采用文献6Felzenszwalb P F,Huttenlocher D P.Efficient Graph-Based Image Segmentation[J].Inter-national Journal of Computer Vision,2004,59(2):167-181.中所述图 像分割方法将图像分割成M不同的对象区域{R1,R2,...,RM},每个对象区域Rm为像素点 集合,m为对象区域序号,艺术家绘制过程中会对前景更关注,对于分割出来的区域Rm, 用户可以设置相应的最小覆盖率Om,一般最低覆盖率不低于0.7,对于重要区域则需达 到0.95;区域的纵横比会影响交叉针的交叉角度,计算区域Rm的外接矩形,再计算区 域的纵横比Pm;乱针绣作品会表现对象的纹理方向,本发明采用文献7Kang H,Lee S, Chui C K.Coherent line drawing[C]//Proceedings of the 5th international symposium on Non-photorealistic animation and rendering.ACM,2007:43-50.提取输入图像的纹理方向φ, 其为每个像素赋一个值,取值范围为[0,π)。

3.单层针迹生成

步骤31:区域Rm针迹生成参数初始化:当前层次Γ=1;当前层交叉针线条的长 度L由用户确定,令LΓ=L,结合步骤21中的交叉角度θ,计算方法

θ=tan-1Pm,

其中Pm为第m个区域的纵横比。令θГ=θ,其中θГ代表当前层交叉针交叉角度;在多层 叠加过程需要考虑绣布线条的分布密度,本发明设计变量ρ代表密度图,图的大小和输 入图像的大小一致,像素的初始值为40;为了计算绣线的覆盖率,本发明设计变量Υ图 作为覆盖率辅助,其中每个像素初始值为0;

步骤32:随机生成单个交叉针中心点坐标:计算对象区域基元数目:

其中Sm为第m个区域的面积。采用随机采样的方法在区域选取K个采样点,得到初始基 元交叉点集合U={u1,…,uk,…,uK},其中uk=(ukx,uky)代表第k个点的坐标。对集合 U执行步骤321~步骤323;

步骤321:计算U所对应的维诺图:为了提升效率,使用文献8Hoff K E,Culver T, Keyser J,et al.Fast computation of generalized Voronoi diagrams using graphics hardware[C]//Conference on Computer Graphics&Interactive Techniques.2000:375-376.中 的方法,由于乱针绣交叉针的外形特点和绣线表现图像方向的特点,需要对其改进。改 进一体现在交叉针的外形特点,在投影时,需要将点映射为一个金字塔,改进二是为了 表现纹理朝向,需要将金字塔旋转,旋转角度为点uk的方向其中金字塔的Z轴的 高度计算公式如下:

z=|x-xk|+a|y-yk|;

其中uk=(xk,yk),最后将四面体投影到二维平面上可得到相应的维诺图, 得到一个集合V={V1,…Vk,…,VK}。

步骤322:更新第k个交叉针中心点坐标:离散区域几何矩的计算公式如下:

其中,

x=(x,y),x代表二维坐标系中的坐标,x代表在坐标系横轴上的值,而y代表在坐 标系纵轴上的值,ρ(x,y)代表在密度图上x点的密度值,X代表单元格在坐标系横轴上 的个数,Y代表单元格在坐标系纵轴上的个数,xh代表在x上h阶矩,yg代表在y上的g阶 矩;

这里分别计算m0,0、m1,0以及m0,1:

其中m0,0代表单元格的面积,m1,0代表x的一阶矩,m0,1代表y上的一阶矩。计算第k个 子区域Vk的重心点坐标Bk=(xk,yk),区域重心的计算公式如下:

最后更新uk=Bk,得到子区域重心坐标集合B={B1,…,Bk,…,BK};

步骤323:判断是否收敛:根据子区域重心坐标集合B={B1,…,Bk,…,BK}计算代 价函数公式如下:

其中f(|uk-bk|)代表uk与bk的距离,这里采用欧式距离计算公式:

其中p1=(x1,y1),p2=(x2,y2)是在二维平面中任意的两个点,更新重心坐标集合,如 果当前的代价函数结果小于阀值0.01,则迭代结束,否则回到步骤321继续迭代;

步骤33:区域交叉针落点坐标计算:对于区域内部第k个交叉针执行步骤331~步 骤332;

步骤331:对第k个基元中的第一根绣线的底层参数而第二根绣 线的底层参数交点坐标pmk=uk;

步骤332:计算第一根绣线的起点、终点坐标,计算方法如下:

其中ukx代表集合U中uk的横轴坐标,而uky代表集合U中的uk的纵轴坐标;代 表在矢量图上坐标为uk的朝向;

步骤333:计算每个第二根绣线的起点、终点坐标,计算方法如下

步骤334:当前基元的落点没有考虑周边基元的落点信息,对于基元集合H中的任 意两个基元ηi与ηj,其中i≠j,ηi的落点与ηj的落点会有两种情况出现:第一种是两个 基元间出现相交,即基元中存在相交的线条;第二种则是两个基元间不存在两根线条相 交,第一种情况是满足乱针绣工艺特点,而对于第二种情况需要对其优化。找出相邻两 个基元中距离最近的两个落针点p1,p2,同时线条方向基本一致时修改两点的坐标,更 新公式如下:

则将其落点进行合并以减少落针次数。

步骤34:边缘采样:使用Douglas-Peucker算法对边缘采样,得到采样点集合 E={e1,…,ej…,eJ},其中ej是第j个点坐标ej=(ejx,ejy);

步骤35:边缘交叉针坐标计算:每次取出相邻的两个采样点ej,ej+1,将其连接得 到一根线条,所以其中分别为第一根绣线的起点、终点 坐标;首先计算另一根线条的起点坐标,这里将第一根线条的中点作为当前线条的起点 坐标计算公式如下:

更新边缘交叉针交点坐标使用欧式距离计算第一根线条的长度得到len,而 另一个的点计算公式如下:

其中为第二根绣线的终点,为点的横轴坐标,为点的纵轴坐标,为 矢量图上点处的朝向;

从而得到边缘交叉坐标信息,将生成的区域交叉针和边缘交叉针加入到基元集合H 中;

步骤36:计算交叉针集合中其他属性值:通过上述步骤得到区域内部和边缘的交 叉针,相应的交叉针集合为η={ηi:i=1~N},其中N为交叉针的数目,每个组合 ηi={li1,li2,θi,wi,ci,ki}中还需确定颜色,宽度与类型。交叉针中绣线颜色则为交叉针 交点pmi处的颜色col,则有ci=col;绣线宽度与当前绣面覆盖率有关,如果当前区域 的绣面覆盖率Ocur>0.6,wi=1,否则wi=2;对于交叉针的交叉类型为’y’型交叉针, κi=1,反之则κi=0;

步骤37:最终得到区域Rm的单层针迹,对集合中所有对象区域执行上诉操作,得 到整体对象的单层针迹;

4.多层针迹叠加策略

步骤41:计算当前区域覆盖率:对于步骤二中生成的单层针迹,如果是第一次生 成针迹则将其直接保存,否则将本层的针迹叠加到现有针迹上。检查绣面的上像素覆盖 率,使用Bresenham算法将所有针迹以黑色绘制到图Υ上;统计图Υ上被绘制的像素个 数pxielo,计算图Υ上所有像素数目pxiela,则当前绣布的覆盖率计算公式如下:

步骤42:判断当前针迹是否满足要求:如果Ocur>Om则满足要求可结束对该区域 的迭代;否则进行参数更新,更新交叉针的长度与交叉角度,长度更新公式如下:

LΓ+1=0.8×LΓ;

角度更新公式如下:

θΓ+1=0.8×θΓ;

更新密度场,对于绣线经过的像素x,密度更新公式如下:

ρ(x)=ρ(x)-2;

更新当前层数:计算公式如下:

Γ=Γ+1;

继续回到步骤32继续生成单层针迹;

实施例

具体实施过程如下:

步骤一中,分别定义如图2a和图2b所示的区域交叉针和边缘交叉针;

步骤二中,图像分割以及图像特征提取。输入如图3所示的图像,先对其分割得到 分割为4个对象区域的集合R={R1,R2,R3,R4},如图4所示,分别制定相应的覆盖率 和计算纵横比;提取相应的的矢量场,如图5所示;

步骤三中,对每个对象区域生成针迹,分别生成内部和边缘针迹。区域内部,首先 计算交叉针数目和交叉针长度和角度,再通过对区域的多次迭代计算对应的维诺图从而 确定交叉针的交点坐标,根据交叉针参数计算相应的交叉针落点坐标;边缘部分,先对 边缘采样,得到采样点,再计算边缘交叉针落点坐标;最后计算所有交叉针的绣线其他 属性,结果如图6所示;

步骤四中,判断每个区域的覆盖率是否达到指定的覆盖率,如果满足则可停止相应 的针迹生成,否则回到步骤三中继续生成针迹,最终得到完整针迹,如图7所示;

步骤五中,将步骤四中得到的乱针绣绣品针迹序列转换为电脑刺绣机使用的以毫米 为单位的坐标格式,将其输入电脑刺绣机,从而得到实际的乱针绣绣品。

本发明提供了一种过程式计算机辅助乱针绣制作方法,具体实现该技术方案的方法 和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进 和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加 以实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1