CN105976371B - 基于轮廓的透明度渐变抠像方法 - Google Patents
基于轮廓的透明度渐变抠像方法 Download PDFInfo
- Publication number
- CN105976371B CN105976371B CN201610288311.1A CN201610288311A CN105976371B CN 105976371 B CN105976371 B CN 105976371B CN 201610288311 A CN201610288311 A CN 201610288311A CN 105976371 B CN105976371 B CN 105976371B
- Authority
- CN
- China
- Prior art keywords
- profile
- emergence
- transparency
- image
- controlling
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种多边形轮廓到目标轮廓的图像透明度渐变抠像方法,包括对待处理的图像依次进行轮廓路径细分、顶点对应、轮廓多边形重构和基于模型映射的抠像框架等处理。本发明提供针对任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果。
Description
技术领域
本发明涉及抠像技术领域,特别是涉及一种基于轮廓的透明度渐变抠像方法。
背景技术
图像抠像作为一种图像处理领域的一种方式,其应用范围越来越广。现有的抠像方式主要是基于某一控制轮廓的抠像,沿指定控制轮廓扣取图像,然后沿图像边缘进行向内向外两个方向的羽化,以此实现整个抠像过程。抠像方式相对单一,不能提供更灵活的图像从某一轮廓到对应轮廓之间的透明度渐变抠像。现有的抠像技术基于图像处理技术,主要针对一个图像选定区域的抠像,不能实现多个选定轮廓之间的共同重叠抠像效果或是多个图像共同抠像的交叉效果,在同一图像多个交叉的抠像区域缺少重叠区域透明度渐变交叉效果。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于轮廓的透明度渐变抠像方法,支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果。
本发明的目的是通过以下技术方案来实现的:基于轮廓的透明度渐变抠像方法,包括以下步骤:
S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数据、羽化类型和图像运算类型;
S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐变;
S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明;
S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点一一对应原则,生成新的控制轮廓和新的羽化轮廓;
S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形,若第一多边形为曲线多边形,则执行步骤S6;若第一多边形为四边形,则跳转步骤S9;若第一多边形为三角形,则跳转步骤S10;
S6.对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓曲线和羽化轮廓曲线,对细分段数较少的曲线段进行插值;
S7.将控制轮廓曲线和羽化轮廓曲线进行顶点对应;
S8.按段遍历对应的曲线段和对应的顶点生成细分的第二多边形:若第二多边形为三角形,则跳转步骤S10;若第二多边形为四边形,则跳转步骤S9;
S9.判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两个三角形;
S10.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
S11.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜;
S12.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
S13.根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
S14.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓到羽化轮廓的抠像结果。
所述步骤S2包括以下子步骤:
S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像羽化区域的透明度值;
S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三角形映射模型。
所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据为负值时,对应的羽化轮廓收缩。
所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段羽化轮廓计算结果进行羽化轮廓对应点数据的添加。
所述步骤S10中,若三角形是向内的,则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。
所述步骤S12中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异点。
所述步骤S12中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。
所述步骤S7包括以下子步骤:
S71.计算轮廓的尖锐点,并对轮廓进行分段;
S72.对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。
所述步骤S8和步骤S9之间还包括判断三角形向内或向外的步骤。
本发明的有益效果是:本发明提供针对任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果。
附图说明
图1为本发明基于轮廓的透明度渐变抠像方法的流程图;
图2为本发明中得到的只有透明度的三角形映射模型的模型一;
图3为本发明中得到的只有透明度的三角形映射模型的模型二;
图4为本发明中得到的只有透明度的三角形映射模型的模型三;
图5为本发明中得到的只有透明度的三角形映射模型的模型四。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,基于轮廓的透明度渐变抠像方法的流程图,包括以下步骤:
S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数据、羽化类型和图像运算类型,控制轮廓点与羽化轮廓点一一对应。
本实施例中,由于每个像素都需要进行计算,使用GPU进行硬件加速以提高执行效率,因此,输入数据中待处理的图像存储在显存中。
S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐变。
所述步骤S2包括以下子步骤:
S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像羽化区域的透明度值,以此实现羽化轮廓部分的图像透明度计算;
S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三角形映射模型。
所述羽化类型为高斯羽化类型或线性羽化类型。
步骤S23中得到的四个只有透明度的三角形映射模型,其具体样式如图2至图5所示,图中箭头方向为透明度从255渐变到0的方向。模型一从左侧到三角形斜边透明度从255渐变到0;模型二从三角形下边到斜边透明度从255渐变到0;模型三从三角形下边点到上边透明度从255渐变到0;模型四从三角形左侧边到斜边透明度从255渐变到0。
S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明。即将控制轮廓光栅化,并填充控制轮廓包围的图像,使控制轮廓包围的图像的透明度为255,用于在羽化轮廓和控制轮廓交叉时进行控制轮廓区域内透明度的计算参考。
S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点一一对应原则,生成新的控制轮廓和新的羽化轮廓。
所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据为负值时,对应的羽化轮廓收缩。
所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段羽化轮廓计算结果(计算结果可能是外延或者收缩)进行羽化轮廓对应点数据的添加。在羽化轮廓收缩时计算轮廓交点,避免错误的冗余轮廓点导致最终结果有重叠错误。
S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形,若第一多边形为曲线多边形,则执行步骤S6;若第一多边形为三角形,则跳转步骤S10;若第一多边形为四边形,则跳转步骤S9。
S6.对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓曲线和羽化轮廓曲线,然后对控制轮廓曲线和羽化轮廓曲线进行处理,对细分段数较少的曲线段进行插值,保证控制轮廓曲线和羽化轮廓曲线的点数相同。
S7.将控制轮廓曲线和羽化轮廓曲线进行顶点对应;
所述步骤S7包括以下子步骤:
S71.计算轮廓的尖锐点,并对轮廓进行分段;
S72.对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。
两条曲线C1(t)、C2(t)对应的顶点插值曲线为:
C(s0,t)=(1-s0)C1(u(t))+s0C2(v(t))s0∈[0,1]
良好的对应应该使对给定s0插值曲线C(s0,t)不自交,不自交等价于对应的切向量內积为正值,单位化切向量T1(t)、T2(t)的计算公式为:
把以上两项作为差异值,得到最优匹配的插值曲线和曲面具有良好的性态。
S8.按段遍历对应的曲线段和对应的顶点生成细分的第二多边形,第二多边形有两种形态:四边形或者三角形:若第二多边形为三角形,则跳转步骤S10;若第二多边形为四边形,则跳转步骤S9。
S9.判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两个三角形。然后同时确定两个三角形对应的模型两个三角形相对于控制轮廓是向外拉伸或是向内拉伸。
S10.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
所述步骤S10中,若三角形是向内的(即三角形与控制轮廓包围的图像有重叠),则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。对三角形进行边缘处理,重新根据三角形三条边的羽化方式填充三条边线的透明度。
S11.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜;
S12.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
所述步骤S12中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异点。
所述步骤S12中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。本实施例使用模型映射模式,在细分三角形大小和参考模型大小区别比较大时,抠像透明度结果可能不太平滑,通过进行高斯滤波平滑透明度结果。高斯函数公式如下:
其中x、y为图像坐标,σ为高斯半径,σ越小,高斯渐变越快,σ越大,渐变越平缓。
S13.根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
S14.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓到羽化轮廓的抠像结果。
本发明通过多边形轮廓曲线细分、细分点插值、顶点对应,生成从控制轮廓到羽化轮廓的新的轮廓控制点对应关系,进而生成新的轮廓图形的细分图形组合方式;提供针对任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果;通过绘制任意的多边形控制轮廓,拖动轮廓点到羽化轮廓,实现从指定多边形控制轮廓到羽化轮廓的透明度渐变抠像;多种图像透明度交叉效果的生成方式,支持同一图像多个交叉羽化轮廓的多种图像运算方式,实现多个相交羽化轮廓之间抠像透明图平滑渐变。
本发明提出一种通过轮廓路径细分、顶点对应、轮廓多边形重构和基于模型映射的抠像框架,再借助GPU加速,实现高效的图像抠像方法,可用于单幅图像抠像处理以及动态的图像渐变抠像效果生成。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (7)
1.基于轮廓的透明度渐变抠像方法,其特征在于:包括以下步骤:
S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数据、羽化类型和图像运算类型;
S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐变,包括如下子步骤:
S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像羽化区域的透明度值;
S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三角形映射模型;
S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明;
S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点一一对应原则,生成新的控制轮廓和新的羽化轮廓;
S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形,若第一多边形为曲线多边形,则执行步骤S6;若第一多边形为四边形,则跳转步骤S9;若第一多边形为三角形,则跳转步骤S10;
S6.对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线细分,得到控制轮廓曲线和羽化轮廓曲线,对细分段数较少的曲线段进行插值;
S7.将控制轮廓曲线和羽化轮廓曲线进行顶点对应;
S8.按段遍历对应的曲线段和对应的顶点生成细分的第二多边形:若第二多边形为三角形,则跳转步骤S10;若第二多边形为四边形,则跳转步骤S9;
S9. 判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两个三角形;
S10.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
S11.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜;
S12.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
S13.根据图像运算类型,对图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
S14.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓到羽化轮廓的抠像结果。
2.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据为负值时,对应的羽化轮廓收缩。
3.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段羽化轮廓计算结果进行羽化轮廓对应点数据的添加。
4.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S10中,若三角形是向内的,则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。
5.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S12中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异点。
6.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S12中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。
7.根据权利要求1所述的基于轮廓的透明度渐变抠像方法,其特征在于:所述步骤S7包括以下子步骤:
S71.计算轮廓的尖锐点,并对轮廓进行分段;
S72.对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610288311.1A CN105976371B (zh) | 2016-05-03 | 2016-05-03 | 基于轮廓的透明度渐变抠像方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610288311.1A CN105976371B (zh) | 2016-05-03 | 2016-05-03 | 基于轮廓的透明度渐变抠像方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976371A CN105976371A (zh) | 2016-09-28 |
CN105976371B true CN105976371B (zh) | 2017-09-05 |
Family
ID=56993666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610288311.1A Active CN105976371B (zh) | 2016-05-03 | 2016-05-03 | 基于轮廓的透明度渐变抠像方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105976371B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503831A (zh) * | 2019-08-28 | 2019-11-26 | 上海眼控科技股份有限公司 | 一种识别驾驶员违法行为的方法及设备 |
CN111314770B (zh) * | 2020-03-06 | 2022-03-04 | 网易(杭州)网络有限公司 | 游戏中列表的显示方法、装置以及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437169A (zh) * | 2008-12-19 | 2009-05-20 | 深圳市迅雷网络技术有限公司 | 一种彩色图像黑白化的方法和装置 |
CN101551904A (zh) * | 2009-05-19 | 2009-10-07 | 清华大学 | 基于混合梯度场和混合边界条件的图像合成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8879835B2 (en) * | 2011-08-26 | 2014-11-04 | Adobe Systems Incorporated | Fast adaptive edge-aware matting |
-
2016
- 2016-05-03 CN CN201610288311.1A patent/CN105976371B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437169A (zh) * | 2008-12-19 | 2009-05-20 | 深圳市迅雷网络技术有限公司 | 一种彩色图像黑白化的方法和装置 |
CN101551904A (zh) * | 2009-05-19 | 2009-10-07 | 清华大学 | 基于混合梯度场和混合边界条件的图像合成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105976371A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106204712B (zh) | 分段线性不规则光栅化 | |
KR102410351B1 (ko) | 단일 패스 유연 스크린/스케일 래스터화 | |
CN103914863B (zh) | 一种彩色图像抽象化绘制方法 | |
CN104715451B (zh) | 一种基于颜色及透明度一致优化的图像无缝融合方法 | |
CN105976371B (zh) | 基于轮廓的透明度渐变抠像方法 | |
JPH07302336A (ja) | 画像の特徴を曖昧化する方法および装置 | |
CN103914862A (zh) | 基于边缘正切流的模拟铅笔素描画方法 | |
CN104915976A (zh) | 一种模拟铅笔素描的图像处理方法和系统 | |
CN105760073A (zh) | 一种在交互式电子白板软件中实现图形透视的方法 | |
US20130257853A1 (en) | Volume-preserving smoothing brush | |
CN104822030B (zh) | 一种基于图像变形的不规则视频矩形化矫正方法 | |
Palfinger | Continuous remeshing for inverse rendering | |
Jia et al. | Mesh resizing based on hierarchical saliency detection | |
Moorfield et al. | Bilateral filtering of 3D point clouds for refined 3D roadside reconstructions | |
CN105894527B (zh) | 多边形轮廓到目标轮廓的图像透明度渐变抠像方法 | |
CN105894524B (zh) | 基于控制轮廓及其对应羽化轮廓的抠像方法 | |
CN107169498A (zh) | 一种融合局部和全局稀疏的图像显著性检测方法 | |
Krishnamurthy et al. | Optimized GPU evaluation of arbitrary degree NURBS curves and surfaces | |
CN105957083B (zh) | 支持同一图像多个轮廓交叉抠像方法 | |
CN110473281A (zh) | 三维模型的描边处理方法、装置、处理器及终端 | |
CN107292946B (zh) | 一种基于brdf函数线性过滤的图像渲染方法 | |
CN103914825A (zh) | 一种基于图像分割的三维模型纹理着色方法 | |
CN103559721B (zh) | 一种基于图像梯度的三角剖分快速图像融合方法 | |
CN107578821B (zh) | 一种用于虚拟手术系统中的实时的高效gpu渲染方法 | |
US20170274285A1 (en) | Method and apparatus for automating the creation of a puzzle pix playable on a computational device from a photograph or drawing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |