公开/公告号CN105894524A
专利类型发明专利
公开/公告日2016-08-24
原文格式PDF
申请/专利权人 成都索贝数码科技股份有限公司;
申请/专利号CN201610284185.2
申请日2016-05-03
分类号
代理机构成都金英专利代理事务所(普通合伙);
代理人袁英
地址 610041 四川省成都市高新区新加坡工业园新元大道南二路2号
入库时间 2023-06-19 00:19:23
法律状态公告日
法律状态信息
法律状态
2018-10-19
授权
授权
2016-09-21
实质审查的生效 IPC(主分类):G06T7/00 申请日:20160503
实质审查的生效
2016-08-24
公开
公开
技术领域
本发明涉及轮廓图形重构技术领域,特别是涉及一种基于控制轮廓及其对应羽化轮廓的抠像方法。
背景技术
图像抠像作为一种图像处理领域的一种方式,其应用范围越来越广。现有的抠像方式主要是基于某一控制轮廓的抠像,沿指定控制轮廓扣取图像,然后沿图像边缘进行向内向外两个方向的羽化,以此实现整个抠像过程。抠像方式相对单一,不能提供更灵活的图像从某一轮廓到对应轮廓之间的透明度渐变抠像。现有的抠像技术基于图像处理技术,主要针对一个图像选定区域的抠像,不能实现多个选定轮廓之间的共同重叠抠像效果或是多个图像共同抠像的交叉效果,在同一图像多个交叉的抠像区域缺少重叠区域透明度渐变交叉效果。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于控制轮廓及其对应羽化轮廓的抠像方法,实现了从某一轮廓到对应轮廓之间的透明度渐变抠像。
本发明的目的是通过以下技术方案来实现的:基于控制轮廓及其对应羽化轮廓的抠像方法,包括以下步骤:
S1.获取输入数据,输入数据包括待处理的图像、控制轮廓、羽化轮廓、羽化宽高数据、羽化类型和图像运算类型;
S2.采用基于模型映射的方式实现控制轮廓和羽化轮廓之间的图像的透明度渐变;
S3.控制轮廓光栅化,将控制轮廓包围的图像填充为完全不透明;
S4.根据羽化宽高数据进行羽化轮廓的重新计算,基于控制轮廓点和羽化轮廓点一一对应原则,生成新的控制轮廓和新的羽化轮廓;
S5.按段遍历新的控制轮廓,结合对应的新的羽化轮廓,组合成多个第一多边形,若第一多边形为三角形,则执行步骤S6;
S6.使用基于块的图像变形方式计算三角形内每个像素对应的透明度;
S7.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜;
S8.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理;
S9.根据图像运算类型,将图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
S10.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓到羽化轮廓的抠像结果。
所述步骤S2包括以下子步骤:
S21.将控制轮廓和羽化轮廓之间的图像细分为三角形;
S22.通过进行细分三角形到对应模型三角形的透明度掩膜的映射关系,获取图像羽化区域的透明度值;
S23.根据细分三角形的四种类型,使用相应的羽化类型生成四个只有透明度的三角形映射模型。
所述步骤S4中,当羽化宽高数据为正值时,对应的羽化轮廓外延;当羽化宽高数据为负值时,对应的羽化轮廓收缩。
所述步骤S4中,在羽化轮廓外延时,对羽化轮廓的每一段进行外延,并根据前一段羽化轮廓计算结果进行羽化轮廓对应点数据的添加。
所述步骤S6中,若三角形是向内的,则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。
所述步骤S8中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异点。
所述步骤S8中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。
本发明的有益效果是:本发明提供了一种基于控制轮廓及其对应羽化轮廓的抠像方法,实现了从某一轮廓到对应轮廓之间的透明度渐变抠像,通过生成从控制轮廓到羽化轮廓的新的轮廓控制点对应关系,进而生成新的轮廓图形的细分图形组合方式。
附图说明
图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。
若第一多边形为四边形,则判断羽化轮廓段是否在控制轮廓段的同侧:若羽化轮廓段不在控制轮廓段的同侧,则计算羽化轮廓段和控制轮廓段的交点,然后将四边形分为两个三角形;若羽化轮廓段在控制轮廓段的同侧,则直接将四边形细分为两个三角形。然后同时确定两个三角形对应的模型两个三角形相对于控制轮廓是向外拉伸或是向内拉伸,然后跳转步骤S6。
若第一多边形为曲线多边形,则对曲线多边形的控制轮廓段和羽化轮廓段分别进行曲线 细分,得到控制轮廓曲线和羽化轮廓曲线,然后对控制轮廓曲线和羽化轮廓曲线进行处理,对细分段数较少的曲线段进行插值,保证控制轮廓曲线和羽化轮廓曲线的点数相同。对控制轮廓曲线和羽化轮廓曲线进行顶点对应,此处采用改进的轮廓绕行的顶点对应算法:首先计算轮廓的尖锐点、对轮廓进行分段,然后对轮廓的分段采用轮廓绕行的顶点对应算法进行顶点对应。两条曲线C1(t)、C2(t)对应的顶点插值曲线为:
C(s0,t)=(1-s0)C1(u(t))+s0C2(v(t))>0∈[0,1]
良好的对应应该使对给定s0插值曲线C(s0,t)不自交,不自交等价于对应的切向量內积为正值,单位化切向量T1(t)、T2(t)的计算公式为:
把以上两项作为差异值,得到最优匹配的插值曲线和曲面具有良好的性态。
按段遍历对应的曲线段和对应的顶点生成细分的第二多边形,此处的第二多边形有两种形态:四边形或者三角形。如果是四边形,判断新的羽化轮廓段是否在新的控制轮廓段的同侧:若新的羽化轮廓段不在新的控制轮廓段的同侧,则计算新的羽化轮廓段和新的控制轮廓段的交点,然后将四边形分为两个三角形;若新的羽化轮廓段在新的控制轮廓段的同侧,则直接将四边形细分为两个三角形。然后同时确定两个三角形对应的模型两个三角形相对于控制轮廓是向外拉伸或是向内拉伸,然后跳转步骤S6。如果是三角形,跳转步骤S6。
S6.使用基于块的图像变形方式计算三角形内每个像素对应的透明度。
所述步骤S6中,若三角形是向内的(即三角形与控制轮廓包围的图像有重叠),则将三角形的透明度与控制轮廓包围的图像的透明度进行与运算,否则将三角形的透明度与羽化轮廓包围的图像的透明度进行或运算。对三角形进行边缘处理,重新根据三角形三条边的羽化方式填充三条边线的透明度。
S7.将新的控制轮廓和新的羽化轮廓混叠,得到图像抠像轮廓的第一透明度掩膜。
S8.对图像抠像轮廓的第一透明度掩膜进行去噪处理和平滑处理。
所述步骤S8中去噪处理的方式为:采用中值滤波平滑过滤掉图像细分三角形映射中出现的透明度奇异点。
所述步骤S8中平滑处理的方式为采用高斯滤波平滑图像抠像轮廓的第一透明度掩膜。本 实施例使用模型映射模式,在细分三角形大小和参考模型大小区别比较大时,抠像透明度结果可能不太平滑,通过进行高斯滤波平滑透明度结果。高斯函数公式如下:
其中x、y为图像坐标,σ为高斯半径,σ越小,高斯渐变越快,σ越大,渐变越平缓。
S9.根据图像运算类型,将图像抠像轮廓的第一透明度掩膜与待处理的图像的透明度进行逻辑运算,得到抠像轮廓的第二透明度掩膜;
S10.将待处理的图像的透明度替换为抠像轮廓的第二透明度掩膜,得到输入控制轮廓到羽化轮廓的抠像结果。
本发明通过多边形轮廓曲线细分、细分点插值、顶点对应,生成从控制轮廓到羽化轮廓的新的轮廓控制点对应关系,进而生成新的轮廓图形的细分图形组合方式;提供针对任意从控制轮廓到羽化轮廓包围形成的抠像区域的渐变透明度生成算法,从控制轮廓到羽化轮廓透明度渐变,同时可以支持同一羽化轮廓之间的任意轮廓相交模式,即支持某些羽化轮廓线可以与其他轮廓线交叉生成重叠的透明度渐变效果;通过绘制任意的多边形控制轮廓,拖动轮廓点到羽化轮廓,实现从指定多边形控制轮廓到羽化轮廓的透明度渐变抠像;多种图像透明度交叉效果的生成方式,支持同一图像多个交叉羽化轮廓的多种图像运算方式,实现多个相交羽化轮廓之间抠像透明图平滑渐变。
本发明提出一种通过轮廓路径细分、顶点对应、轮廓多边形重构和基于模型映射的抠像框架,再借助GPU加速,实现高效的图像抠像方法,可用于单幅图像抠像处理以及动态的图像渐变抠像效果生成。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
机译: 图像处理方法涉及在由多相滤波器过滤的图像上估计轮廓的对比度下降,并基于其对应的估计对比度下降来对轮廓进行幅度增强。
机译: 旋转工具测量方法,涉及评估与标准有关的轮廓,并将与实际位置相对应的实际轮廓与由评估轮廓确定的比较轮廓进行比较
机译: 二次微分值图像的重构过程方法,基于相同轮廓的轮廓线增强方法和基于相同轮廓轮廓线的热敏打印机