基于轮廓的透明度渐变抠像方法

文档序号:10613679阅读:263来源:国知局
基于轮廓的透明度渐变抠像方法
【专利摘要】本发明公开了一种多边形轮廓到目标轮廓的图像透明度渐变抠像方法,包括对待处理的图像依次进行轮廓路径细分、顶点对应、轮廓多边形重构和基于模型映射的抠像框架等处理。本发明提供针对任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果。
【专利说明】
基于轮廓的透明度渐变抠像方法
技术领域
[0001] 本发明涉及抠像技术领域,特别是涉及一种基于轮廓的透明度渐变抠像方法。
【背景技术】
[0002] 图像抠像作为一种图像处理领域的一种方式,其应用范围越来越广。现有的抠像 方式主要是基于某一控制轮廓的抠像,沿指定控制轮廓扣取图像,然后沿图像边缘进行向 内向外两个方向的羽化,以此实现整个抠像过程。抠像方式相对单一,不能提供更灵活的图 像从某一轮廓到对应轮廓之间的透明度渐变抠像。现有的抠像技术基于图像处理技术,主 要针对一个图像选定区域的抠像,不能实现多个选定轮廓之间的共同重叠抠像效果或是多 个图像共同抠像的交叉效果,在同一图像多个交叉的抠像区域缺少重叠区域透明度渐变交 叉效果。

【发明内容】

[0003] 本发明的目的在于克服现有技术的不足,提供一种基于轮廓的透明度渐变抠像方 法,支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓 线交叉生成重叠的透明度渐变效果。
[0004] 本发明的目的是通过以下技术方案来实现的:基于轮廓的透明度渐变抠像方法, 包括以下步骤:
[0005] S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数 据、羽化类型和图像运算类型;
[0006] S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐 变;
[0007] S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明;
[0008] S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点 一一对应原则,生成新的控制轮廓和新的羽化轮廓;
[0009] S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形, 若第一多边形为曲线多边形,则执行步骤S6;若第一多边形为四边形,则跳转步骤S9;若第 一多边形为三角形,则跳转步骤S10;
[0010] S6.对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓 曲线和羽化轮廓曲线,对细分段数较少的曲线段进行插值;
[0011] S7.将控制轮廓曲线和羽化轮廓曲线进行顶点对应;
[0012] S8.按段遍历对应的曲线段和对应的顶点生成细分的第二多边形:若第二多边形 为三角形,则跳转步骤S10;若第二多边形为四边形,则跳转步骤S9;
[0013] S9.判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在 新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形 分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两 个三角形;
[0014] S10.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
[0015] S11.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩 膜;
[0016] S12.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
[0017] S13.根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透 明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
[0018] S14.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制 轮廓到羽化轮廓的抠像结果。
[0019] 所述步骤S2包括以下子步骤:
[0020] S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
[0021] S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像 羽化区域的透明度值;
[0022] S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三 角形映射模型。
[0023]所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据 为负值时,对应的羽化轮廓收缩。
[0024]所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段 羽化轮廓计算结果进行羽化轮廓对应点数据的添加。
[0025]所述步骤S10中,若三角形是向内的,则将三角形的透明度与控制轮廓包围的图像 的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运 算。
[0026]所述步骤S12中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映 射中出现的透明度奇异点。
[0027]所述步骤S12中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度 掩膜。
[0028] 所述步骤S7包括以下子步骤:
[0029] S71.计算轮廓的尖锐点,并对轮廓进行分段;
[0030 ] S7 2.对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。
[0031] 所述步骤S8和步骤S9之间还包括判断三角形向内或向外的步骤。
[0032] 本发明的有益效果是:本发明提供针对任意从控制轮廓到羽化轮廓包围形成的抠 像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽 化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠 的透明度渐变效果。
【附图说明】
[0033] 图1为本发明基于轮廓的透明度渐变抠像方法的流程图;
[0034] 图2为本发明中得到的只有透明度的三角形映射模型的模型一;
[0035] 图3为本发明中得到的只有透明度的三角形映射模型的模型二;
[0036] 图4为本发明中得到的只有透明度的三角形映射模型的模型三;
[0037] 图5为本发明中得到的只有透明度的三角形映射模型的模型四。
【具体实施方式】
[0038]下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于 以下所述。
[0039] 如图1所示,基于轮廓的透明度渐变抠像方法的流程图,包括以下步骤:
[0040] S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数 据、羽化类型和图像运算类型,控制轮廓点与羽化轮廓点一一对应。
[0041] 本实施例中,由于每个像素都需要进行计算,使用GPU进行硬件加速以提高执行效 率,因此,输入数据中待处理的图像存储在显存中。
[0042] S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐 变。
[0043] 所述步骤S2包括以下子步骤:
[0044] S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
[0045] S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像 羽化区域的透明度值,以此实现羽化轮廓部分的图像透明度计算;
[0046] S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三 角形映射模型。
[0047]所述羽化类型为高斯羽化类型或线性羽化类型。
[0048]步骤S23中得到的四个只有透明度的三角形映射模型,其具体样式如图2至图5所 示,图中箭头方向为透明度从255渐变到0的方向。模型一从左侧到三角形斜边透明度从255 渐变到〇;模型二从三角形下边到斜边透明度从255渐变到0;模型三从三角形下边点到上边 透明度从255渐变到0;模型四从三角形左侧边到斜边透明度从255渐变到0。
[0049] S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明。即将控制轮廓光 栅化,并填充控制轮廓包围的图像,使控制轮廓包围的图像的透明度为255,用于在羽化轮 廓和控制轮廓交叉时进行控制轮廓区域内透明度的计算参考。
[0050] S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点 一一对应原则,生成新的控制轮廓和新的羽化轮廓。
[0051] 所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据 为负值时,对应的羽化轮廓收缩。
[0052]所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段 羽化轮廓计算结果(计算结果可能是外延或者收缩)进行羽化轮廓对应点数据的添加。在羽 化轮廓收缩时计算轮廓交点,避免错误的冗余轮廓点导致最终结果有重叠错误。
[0053] S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形, 若第一多边形为曲线多边形,则执行步骤S6;若第一多边形为三角形,则跳转步骤S10;若第 一多边形为四边形,则跳转步骤S9。
[0054] S6.对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓 曲线和羽化轮廓曲线,然后对控制轮廓曲线和羽化轮廓曲线进行处理,对细分段数较少的 曲线段进行插值,保证控制轮廓曲线和羽化轮廓曲线的点数相同。
[0055] S7.将控制轮廓曲线和羽化轮廓曲线进行顶点对应;
[0056] 所述步骤S7包括以下子步骤:
[0057] S71.计算轮廓的尖锐点,并对轮廓进行分段;
[0058] S7 2.对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。
[0059] 两条曲线&(〇、&(〇对应的顶点插值曲线为:
[0060] C(so,t) = (l-so)Ci(u(t))+soC2(v(t))s〇e [0,1]
[0061 ]良好的对应应该使对给定so插值曲线C( so, t)不自交,不自交等价于对应的切向量 内积为正值,单位化切向量1'1(〇、1'2(〇的计算公式为:
[0062]
[0063]
[0064] 把以上两项作为差异值,得到最优匹配的插值曲线和曲面具有良好的性态。
[0065] S8.按段遍历对应的曲线段和对应的顶点生成细分的第二多边形,第二多边形有 两种形态:四边形或者三角形:若第二多边形为三角形,则跳转步骤S10;若第二多边形为四 边形,则跳转步骤S9。
[0066] S9.判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在 新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形 分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两 个三角形。然后同时确定两个三角形对应的模型两个三角形相对于控制轮廓是向外拉伸或 是向内拉伸。
[0067] S10.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
[0068]所述步骤S10中,若三角形是向内的(即三角形与控制轮廓包围的图像有重叠),则 将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与 羽化轮廓包围的图像的透明度进行或运算。对三角形进行边缘处理,重新根据三角形三条 边的羽化方式填充三条边线的透明度。
[0069] S11.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩 膜;
[0070] S12.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
[0071]所述步骤S12中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映 射中出现的透明度奇异点。
[0072] 所述步骤S12中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度 掩膜。本实施例使用模型映射模式,在细分三角形大小和参考模型大小区别比较大时,抠像 透明度结果可能不太平滑,通过进行高斯滤波平滑透明度结果。高斯函数公式如下:
[0073]
[0074] 其中x、y为图像坐标,σ为高斯半径,σ越小,高斯渐变越快,σ越大,渐变越平缓。
[0075] S13.根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透 明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
[0076] S14.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制 轮廓到羽化轮廓的抠像结果。
[0077] 本发明通过多边形轮廓曲线细分、细分点插值、顶点对应,生成从控制轮廓到羽化 轮廓的新的轮廓控制点对应关系,进而生成新的轮廓图形的细分图形组合方式;提供针对 任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽 化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽 化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果;通过绘制任意的多边形控制 轮廓,拖动轮廓点到羽化轮廓,实现从指定多边形控制轮廓到羽化轮廓的透明度渐变抠像; 多种图像透明度交叉效果的生成方式,支持同一图像多个交叉羽化轮廓的多种图像运算方 式,实现多个相交羽化轮廓之间抠像透明图平滑渐变。
[0078] 本发明提出一种通过轮廓路径细分、顶点对应、轮廓多边形重构和基于模型映射 的抠像框架,再借助GPU加速,实现高效的图像抠像方法,可用于单幅图像抠像处理以及动 态的图像渐变抠像效果生成。
[0079] 以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的 形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本 文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进 行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围 内。
【主权项】
1. 基于轮廓的透明度渐变抠像方法,其特征在于:包括以下步骤:51. 获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数据、 羽化类型和图像运算类型;52. 采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐变;53. 控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明;54. 根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点一一 对应原则,生成新的控制轮廓和新的羽化轮廓;55. 按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形,若第 一多边形为曲线多边形,则执行步骤S6;若第一多边形为四边形,则跳转步骤S9;若第一多 边形为三角形,则跳转步骤S10;56. 对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓曲线 和羽化轮廓曲线,对细分段数较少的曲线段进行插值;57. 将控制轮廓曲线和羽化轮廓曲线进行顶点对应;58. 按段遍历对应的曲线段和对应的顶点生成细分的第二多边形:若第二多边形为三 角形,则跳转步骤S10;若第二多边形为四边形,则跳转步骤S9;59. 判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在新的 控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形分为 两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两个三 角形;510. 使用基于块的图像变形方式计算三角形内每个像素对应的透明度;511. 将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜;512. 对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;513. 根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度 进行逻辑运算,得到抠像轮廓的第二透明度掩膜;514. 将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓 到羽化轮廓的抠像结果。2. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S2包 括以下子步骤:521. 将控制轮廓和羽化轮廓之间的图像细分为三角形;522. 通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像羽化 区域的透明度值;523. 根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三角形 映射模型。3. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S4 中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据为负值时,对应的羽 化轮廓收缩。4. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S4 中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段羽化轮廓计算结果进 行羽化轮廓对应点数据的添加。5. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S10 中,若三角形是向内的,则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算, 否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。6. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S12 中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异 点。7. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S12 中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。8. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S7包 括以下子步骤:571. 计算轮廓的尖锐点,并对轮廓进行分段;572. 对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。9. 根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S8和 步骤S9之间还包括判断三角形向内或向外的步骤。
【文档编号】G06T7/00GK105976371SQ201610288311
【公开日】2016年9月28日
【申请日】2016年5月3日
【发明人】王传经, 余军, 谢世斌
【申请人】成都索贝数码科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1