一种用于二维服装虚拟展示的面料填充纹理变形方法

文档序号:9305086阅读:355来源:国知局
一种用于二维服装虚拟展示的面料填充纹理变形方法
【技术领域】
[0001] 本发明属于图像处理技术领域,具体涉及一种用于二维服装虚拟展示的面料填充 纹理变形方法。
【背景技术】
[0002] 随着工业4. 0和互联网+工业浪潮的来临,服装虚拟展示将广泛应用于服装电子 商务和网络服装定制领域。服装面料填充技术是服装虚拟展示的核心技术之一,利用该技 术使得用户可以轻松观看同一款式不同面料制作的仿真效果。由于服装面料是柔性体,在 服装面料填充时如何使面料纹理自然变形,与服装外轮廓融为一体,成为服装面料填充技 术的难点之一。现有研究面料填充的方法有基于B-3次样条曲线的面料填充和网格纹理映 射的面料填充。基于B-3次样条曲线的面料填充采用B-3次样条曲线分段近似模拟款式图 像的外形线,再对曲线形成封闭区域,然后对区域进行填充。此方法精确度高、存储简单,但 是B-3次样条曲线之间求交变得比较困难,有没有交点、如果有在曲线的哪一段、交点的精 确度如何,都影响了求交的速度和区域填充速度。并且在用户交互过程中绘制封闭区域容 易发生手误的情况,对后期面料实时性的填充产生影响,填充后的面料也无法和服装外轮 廓走向相一致。另一种是交互纹理走势线构建网格,通过网格的调整来符合服装外轮廓的 走向,然后对网格进行纹理映射实现面料填充,但是网格的建立需要大量内存空间、网格的 调整需要大量计算、网格调整也比较困难,而且面料的快速填充无法即时反馈。

【发明内容】

[0003] 本发明的目的是提供一种用于二维服装虚拟展示的面料填充纹理变形方法,解决 了现有技术中填充后的面料也无法和服装外轮廓走向相一致的问题。
[0004] 本发明所采用的技术方案是,一种用于二维服装虚拟展示的面料填充纹理变形方 法,具体按照以下步骤实施:
[0005] 步骤1、获得服装款式轮廓线图;
[0006] 步骤2、将步骤1得到的服装款式轮廓线图划分成若干区域矩阵,对每个区域矩阵 进行编号,然后获得每个区域矩阵的区域中轴;
[0007] 步骤3、在步骤2得到的每个区域矩阵中获得三次贝塞尔曲线和偏移矩阵;
[0008] 步骤4、根据偏移矩阵对面料进行变形,然后对变形的面料运用挤压算法,最后填 充到填充区域。
[0009] 本发明的特点还在于:
[0010] 步骤2中将服装款式轮廓线图划分成若干区域矩阵,对每个区域矩阵进行编号, 首先定义一个矩阵,矩阵的行列值分别与服装款式轮廓图的行列值相等,然后采用区域生 长算法将矩阵划分为若干区域矩阵具体为:判断某个区域中的像素点pixel(x,y)的黑度 是否大于0. 5,如果大于,则将该像素点作为第一个种子点,并将区域编号赋值为矩阵中的 值,然后对种子点的横坐标x分别进行x++,X-,纵坐标y分别进行y++,y-,分别得到4个 新的像素点pixel(x+1,y)、pixel(x-1,y)、pixel(x,y-1)、pixel(x,y+1),分别判断新的4个像素点黑度是否大于〇.5,如果大于,则将黑度大于0. 5的点作为新的种子点,并将相同 的区域编号赋值为矩阵中的值,重复上述操作,直至所有的像素点的黑度均小于0.5,此时 同一个区域矩阵中区域编号均为同一个值,同时将该区域编号单独存储到数据库中。
[0011] 像素点的黑度a=g(i,j)/255,其中,g(i,j)为像素点的灰度值为:g(i,j)= 0. 3R+0. 59G+0. 11B,RGB为当前像素点的红绿蓝三个颜色分量。
[0012] 步骤2中获得每个区域矩阵的中轴具体为:对划分好的每个区域矩阵进行遍 历扫描,记录区域最高点Y_与最低点Y_,则区域中点为YMlddle= (Y_+Y_)/2,根据获 得的区域中点进行横向扫描,扫描第一点为X_,最后一点为X_,则区域中轴为 (Xmax+Xmin) / 2〇
[0013] 步骤3中三次贝塞尔曲线的获得方法为:在区域矩阵中由上至下获得4个像素点 依次为P〇(x,y)、Pi(X,y)、P2(x,y)、P3(x,y),4个像素点的连线大致与区域矩阵的走势一致, 根据4个像素点得到的三次贝塞尔曲线为:
[0014]
[0015] 其中,0彡t彡1。
[0016] 像素点PQ(x,y)和P3(x,y)在区域矩阵的外部。
[0017] 步骤3中偏移矩阵的获得方法为:
[0018] 步骤3. 1、定义一个列矩阵,列矩阵的列数等于服装款式轮廓线图的列数;
[0019] 步骤3. 2、定义一个累加器Sx以及累加个数n,并且初始化为Sx= 0,n= 0 ;
[0020] 步骤3.3、判断像素点?1匕7)的纵坐标?。(7)〈?1(7)〈?3(7)是否成立,如果成立, 则转到步骤3. 4;如果不成立,则转到步骤3. 7;
[0021] 步骤3. 4、判断像素点PiUy)是否在三次贝塞尔曲线上,如果在,则Sx = Pi(x)+SX,n=n+1,Pi(x) =Pi(x+1),转至IJ步骤 3. 4 ;如果不在,转至IJ步骤 3. 5 ;
[0022] 步骤3. 5、判断Sx= 0是否成立,如果成立,则PJx) =Pjx+1),转到步骤3. 4 ;如 果不成立,则Pi(x) =Sx/n,转到步骤3. 6 ;
[0023] 步骤3. 6、计算Pjx)和PQ(x)的差,且Sx= 0,n= 0,并把差值保存到步骤3. 1的 列矩阵的对应列中,P, (y) =P, (y+1),转到步骤3. 3中;
[0024] 步骤3. 7、把列矩阵中没有赋值的列保存为0,则该列矩阵即为偏移矩阵。
[0025] 步骤4根据偏移矩阵对面料进行变形,具体为:获取偏移矩阵每行偏移量的值 xAx及小数部分AX,变形前面料像素为f(x,y),则变形后的面料像素f' (x,y)为:
[0026] f' (X,y) =Axf(x+xAX,y) + (1_Ax)f(x+xAx+1,y)。
[0027] 步骤4对变形的面料运用挤压算法,最后填充到填充区域,具体为:首先构造 一个用于存放面料挤压后的新图像,新图像宽d为服装款式轮廓线图宽度的1/4,挤压 后的任意一点面料像素点(x',y')对应的变形面料g(x,y),当x' >d/2时,x'= g(D+K(x' -d/2)),y,=g(y,),当X,彡d/2 时,x' =8(0-1(((1/2-? )),y,=g(y,), 其中,挤压系数K= |d/2-x|/C+l,C为缩小比例系数,D为服装款式轮廓线图宽度的1/2; 此时新图像的中轴为d/2,根据步骤2的获得的区域中轴,通过平移挤压面料图像使新图像 的中轴和区域中轴重合,最后根据每个区域矩阵把各自对应的面料填充到服装款式轮廓线 图内,得到最终变形挤压后的效果图。
[0028] 本发明的有益效果是:本发明公开一种用于服装虚拟展示的面料填充纹理变形方 法,该方法运用面料纹理变形算法,使得面料纹理变形与服装外轮廓走向相一致,同时使用 面料纹理挤压变形算法,突出面料纹理的视觉立体感,使填充面料与服装轮廓融合一体,更 具有真实感。与现有方法相比,本发明方法具有算法简单、快捷高效的优点。
【附图说明】
[0029] 图1是本发明面料填充纹理变形方法的流程图;
[0030] 图2是本发明面料填充纹理变形方法中服装款式轮廓线图;
[0031]图3是本发明面料填充纹理变形方法中袖子区域的4个像素点图;
[0032] 图4是本发明面料填充纹理变形方法中三次贝塞尔曲线图;
[0033] 图5是本发明面料填充纹理变形方法中偏移矩阵的获得流程图;
[0034]图6是使用本发明面料填充纹理变形方法的面料填充的效果图;
[0035]图7是未使用本发明方法面料填充的效果图。
【具体实施方式】
[0036] 下面结合附图和【具体实施方式】对本发明进行详细说明。
[0037] 本发明一种用于二维服装虚拟展示的面料填充纹理变形方法,具体按照以下步骤 实施(本发明以服装轮廓图的袖子为例),流程图如图1所示:
[0038] 步骤1、获得白底黑线组成的服装款式轮廓线图,如图2所示;
[0039] 步骤2、将步骤1得到的服装款式轮廓线图划分成若干区域矩阵,对每个区域矩阵 进行编号,然后获得每个区域矩阵的区域中轴;
[0040] 步骤2中将服装款式轮廓线图划分成若干区域矩阵,对每个区域矩阵进行编号, 首先定义一个矩阵,矩阵的行列值分别与服装款式轮廓图的行列值相等,然后采用区域生 长算法将矩阵划分为若干区域矩阵具体为:判断袖子区域中的像素点pixel(x,y)的黑度 是否大于0. 5,如果大于,则将该像素点作为第一个种子点,并将区域编号赋值为矩阵中的 值,然后对种子点的横坐标x分别进行x++,X-,纵坐标y分别进行y++,y-,分别得到4个 新的像素点pixel(x+1,y)、pixel(x-1,y)、pixel(X,y-1)、pixel(X,y+1),分别判断新的 4 个像素点黑度是否大于〇. 5,如果大于,则将黑度大于0. 5的点作为新的种子点,并将相同 的区域编号赋值为矩阵中的值,重复上述操作,直至所有的像素点的黑度均小于0.5,此时 袖子矩阵中区域编号为同一个值,同时将该区域编号单独存储到数据库中。
[0041] 其中,像素点的黑度a=g(i,j)/255,黑度为判断轮廓线的边界信息,其中, g(i,j)为像素点的灰度值为:g(i,j) = 〇. 3R+0. 59G+0. 11B,RGB为当前像素点的红绿蓝三 个颜色分量。
[0042] 获得袖子矩阵的中轴具体为:对划分好的袖子区域进行遍历扫描,记录区域最高 点Y_与最低点Y_,则区域中点为YMlddle=(Y_+Y_) /2,根据获得的区域中点进行横向扫 描,扫描第一点为xmin,最后一点为Xmax,则袖子中轴为Xmiddlf;= (Xmax+Xmin)/2。
[0043] 步骤3、在步骤2得到的每个区域矩阵中获得三次贝塞尔曲线和偏移矩阵:
[0044] 三次贝塞尔曲线的获得方法为:如图3所示,在袖子区域中由上至下获得4个像素 点依次为P。(X,y)、Pi(X,y)、P2 (X,y)、P
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1