CN117793442B - 基于点集合的图像视频遮罩方法、装置、设备及介质 - Google Patents
基于点集合的图像视频遮罩方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117793442B CN117793442B CN202311856747.2A CN202311856747A CN117793442B CN 117793442 B CN117793442 B CN 117793442B CN 202311856747 A CN202311856747 A CN 202311856747A CN 117793442 B CN117793442 B CN 117793442B
- Authority
- CN
- China
- Prior art keywords
- target
- coordinates
- point
- polygon
- coordinate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000000873 masking effect Effects 0.000 title claims abstract description 48
- 238000009499 grossing Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 3
- 230000005669 field effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000032669 eclosion Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种基于点集合的图像视频遮罩方法、装置、设备及介质,其中方法包括:记录用户在U I控件上所绘制遮罩的点集合,并基于点集合生成遮罩的多边形;将点集合中的点坐标进行坐标系转换,得到纹理坐标;识别出处于多边形内部和外部的纹理坐标,得到目标点坐标,其中,目标点坐标包括目标内部点坐标和目标外部点坐标,将目标内部点坐标进行显示处理,将目标外部点坐标进行隐藏处理;基于目标点坐标计算出遮罩的透明度,对遮罩进行平滑处理,并对原图的透明通道和颜色值进行修改,得到目标图像。本申请利用用户在U I控件上所绘制遮罩的点集合进行图像视频遮罩,能够适应不同的尺度的遮罩范围,有利于提高图像视频遮罩的效果和效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种基于点集合的图像视频遮罩方法、装置、设备及介质。
背景技术
遮罩和羽化是图像中常用的一种图像裁剪,遮挡,和平滑过度的技术,广泛应用于图像编辑、合成和增强等领域。它们允许图像处理专业人员精确控制图像的区域选择和过渡效果,以实现更自然、逼真和艺术化的视觉效果。
目前,遮罩是通过创建一个与图像像素相同大小的mask(二值掩码)图来实现。这个二值掩码将图像中的某些区域标记为“选定”(通常为白色)或“未选定”(通常为黑色)。“选定”区域则会设置图像的透明度为不透明的,“未选定”区域则设置图像透明度是透明的。然而当遮罩的范围超出原图的尺寸之外的时候,就难以通过传入一个合适的mask(二值掩码)进行计算,导致图像视频遮罩效果较差,并且其需要创建mask图进行遮罩实现,导致其视频遮罩效率较低。
发明内容
本申请实施例的目的在于提出一种基于点集合的图像视频遮罩方法、装置、设备及介质,以提高图像视频遮罩的效果和效率。
为了解决上述技术问题,本申请实施例提供一种基于点集合的图像视频遮罩方法,包括:
记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;
将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;
识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;
基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。
进一步地,所述将所述点集合中的点坐标进行坐标系转换,得到纹理坐标,包括:
按照预设方式将所述点集合中的每一点坐标转换为OpenGL的屏幕坐标,其中,所述预设方式为将所述点坐标的横坐标作为所述屏幕坐标的横坐标,将所述原图的高度减去所述点坐标的纵坐标的值作为所述屏幕坐标的纵坐标;
计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,得到所述纹理坐标。
进一步地,所述计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,以对所述遮罩进行渲染纹理,得到纹理坐标,包括:
根据所述OpenGL中的模型缩放值、模型旋转值和模型位移计算出所述模型矩阵;
根据所述OpenGL中的视图旋转值和视图位移计算出所述视图矩阵;
将预设矩阵作为所述投影矩阵;
基于所述模型矩阵、所述视图矩阵和所述投影矩阵计算出结果矩阵;
根据所述结果矩阵的逆矩阵将所述屏幕坐标进行坐标系转换,得到所述纹理坐标。
进一步地,所述识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理,包括:
采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果;
基于所述判断结果计算每一所述纹理坐标对应射线与所述多边形相交的数量,得到目标相交数量;
若所述目标相交数量为奇数,则判定所述纹理坐标处于所述多边形内部,并将处于所述多边形内部的纹理坐标作为所述目标内部点坐标。
进一步地,所述采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果,包括:
以每一所述纹理坐标为起点向右发出一条射线,得到目标射线;
排除与所述多边形的预设未相交情况的目标射线;
计算所述目标射线与所述多边形相交的坐标,得到相交坐标;
若所述相交坐标的横坐标是否大于所述纹理坐标的横坐标,以判断所述纹理坐标对应的射线是否与所述多边形相交,得到所述判断结果。
进一步地,所述基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像,包括:
计算所述目标点坐标到所述多边形的最短距离;
采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度;
基于所述透明度将所述原图的透明通道进行修改,并将所述原图上每一像素点的颜色值与所述透明度进行相乘计算,以对所述原图的颜色值进行修改,得到所述目标图像。
进一步地,所述采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度,包括:
将任一所述最短距离以及两个预设边界值输入至平滑阶段函数中进行阶段平滑处理,得到阶段平滑处理后的透明度;
其中,所述平滑阶段函数的计算方式为:
y=k*k*(3-2k);
其中,t1、t2为两个所述预设边界值、x为所述最短距离,k为平滑系数,y所述透明度。
为了解决上述技术问题,本申请实施例提供一种基于点集合的图像视频遮罩装置,包括:
点集合记录单元,用于记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;
纹理坐标生成单元,用于将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;
目标点坐标确认单元,用于识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;
目标图像生成单元,用于基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的基于点集合的图像视频遮罩方法。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于点集合的图像视频遮罩方法。
本发明实施例提供了一种基于点集合的图像视频遮罩方法、装置、设备及介质。其中,方法包括:记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。本发明实施例利用用户在UI控件上所绘制遮罩的点集合进行图像视频遮罩,无须构建mask,同时能够适应不同的尺度的遮罩范围,有利于提高图像视频遮罩的效果和效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于点集合的图像视频遮罩方法流程的实现流程图;
图2是本申请实施例提供的基于点集合的图像视频遮罩方法中子流程的实现流程图;
图3是本申请实施例提供的基于点集合的图像视频遮罩方法中子流程的实现流程图;
图4是本申请实施例提供的坐标系转换示意图;
图5是本申请实施例提供的基于点集合的图像视频遮罩方法中子流程的实现流程图;
图6是本申请实施例提供的基于点集合的图像视频遮罩方法中子流程的实现流程图;
图7是本申请实施例提供的目标射线与多边形未相交情况示意图;
图8是本申请实施例提供的相交坐标位置示意图;
图9是本申请实施例提供的相交坐标计算示意图;
图10是本申请实施例提供的基于点集合的图像视频遮罩方法中子流程的实现流程图;
图11是本申请实施例提供的距离场效果示意图;
图12是本申请实施例提供的平滑阶梯函数示意图;
图13是本申请实施例提供的基于点集合的图像视频遮罩装置示意图;
图14是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的基于点集合的图像视频遮罩方法一般由服务器执行,相应地,基于点集合的图像视频遮罩装置一般配置于服务器中。
请参阅图1,图1示出了基于点集合的图像视频遮罩方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形。
具体地,本申请实施例通过应用程序开发框架的Widget(组件)记录用户在UI控件上所绘制遮罩的点集合,该点集合中的点坐标的坐标系原点在左上方,OpenGL屏幕坐标原点在左下方。在记录到所有的点集合后,通过该点集合中的最外围点坐标构成遮罩对应的多边形。
S2:将所述点集合中的点坐标进行坐标系转换,得到纹理坐标。
具体地,本申请实施例中需要将点集合中的点坐标转换为屏幕坐标,再转换为模型坐标,该模型坐标即为纹理坐标。
请参阅图2,图2示出了步骤S2的一种具体实施方式,详叙如下:
S21:按照预设方式将所述点集合中的每一点坐标转换为OpenGL的屏幕坐标,其中,所述预设方式为将所述点坐标的横坐标作为所述屏幕坐标的横坐标,将所述原图的高度减去所述点坐标的纵坐标的值作为所述屏幕坐标的纵坐标。
具体地,将点坐标的横坐标作为屏幕坐标的横坐标,将原图的高度减去点坐标的纵坐标的值作为屏幕坐标的纵坐标,从而将点坐标转换为OpenGL的屏幕坐标。其中,OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。
S22:计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,得到所述纹理坐标。
具体地,OpengGL里面一个物体需要通过模型变换、视图变换、投影变换然后通过视口变换映射到屏幕得到在屏幕空间的像素位置,也即在本申请实例中,需要计算OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于模型矩阵、视图矩阵和投影矩阵将屏幕坐标转换进行坐标系转换,以对遮罩进行渲染纹理,得到纹理坐标
请参阅图3和图4,图3示出了步骤S22的一种具体实施方式,图4是本申请实施例提供的坐标系转换示意图;详叙如下:
S221:根据所述OpenGL中的模型缩放值、模型旋转值和模型位移计算出所述模型矩阵。
具体地,M代表模型矩阵,ModelS是模型的缩放,ModelR是模型的旋转,ModelT是模型的位移。则模型矩阵计算方式为:
M=ModelS*ModelR*ModelT。
S222:根据所述OpenGL中的视图旋转值和视图位移计算出所述视图矩阵。
具体地,V代表视图矩阵,ViewR是视图的旋转,ViewT是视图的位移。则视图矩阵计算方式为:
V=ViewR*ViewT。
S223:将预设矩阵作为所述投影矩阵。
具体地,本申请实施例中定义P是当前的投影矩阵。
S224:基于所述模型矩阵、所述视图矩阵和所述投影矩阵计算出结果矩阵。
S225:根据所述结果矩阵的逆矩阵将所述屏幕坐标进行坐标系转换,得到所述纹理坐标。
具体地,将模型矩阵、视图矩阵和投影矩阵计算进行相乘(M*V*P),得到结果矩阵,本申请实施例中把T定义为M*V*P的结果矩阵,T-1表示为T的逆矩阵。Model(模型)坐标就是T-1乘以screen(屏幕)坐标的结果,这样就可以通过屏幕坐标得到模型的坐标,也即得到纹理坐标。
其中,计算方式如下:
T=M*V*P;
S3:识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理。
具体地,上述步骤已经将点坐标进行了坐标系转换,对遮罩进行了渲染,得到了纹理坐标,所以在本申请实施例中需要识别出处于遮罩的多边形内部或外部的纹理坐标,从而确定遮罩的透明度值。其中,目标点坐标包括目标内部点坐标和目标外部点坐标,将目标内部点坐标进行显示处理,将目标外部点坐标进行隐藏处理。
请参阅图5,图5示出了步骤S3的一种具体实施方式,详叙如下:
S31:采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果。
请参阅图6至图9,图5示出了步骤S31的一种具体实施方式;图7是本申请实施例提供的目标射线与多边形未相交情况示意图;图8是本申请实施例提供的相交坐标位置示意图;图9是本申请实施例提供的相交坐标计算示意图;详叙如下:
S311:以每一所述纹理坐标为起点向右发出一条射线,得到目标射线。
S312:排除与所述多边形的预设未相交情况的目标射线。
如图7所示,针对任一纹理坐标A向右发出一条射线,得到目标射线AF。其中,预设未相交情况包括目标射线与多边形的边相平行、重叠、线段(多边形的边)在目标射线上方、线段在目标射线下发、线段终点在目标射线上和线段起点在目标射线上。
S313:计算所述目标射线与所述多边形相交的坐标,得到相交坐标。
如图9所示,在本申请中利用三角形相似的原理计算出AF与BC(多边形的边)相交点的Mx坐标;其计算方式为:
其中,(Ax,Ay)为纹理坐标,(Bx,By)和(Cx,Cy)为多边形的边BC的两个端点坐标。需要说明的是,只需要计算目标射线与多边形相交的横坐标,后续只需要比较横坐标即可判断出纹理坐标对应的摄像师傅与多边形相交。
S314:若所述相交坐标的横坐标是否大于所述纹理坐标的横坐标,以判断所述纹理坐标对应的射线是否与所述多边形相交,得到所述判断结果。
如图8所示,若所述相交坐标的横坐标大于所述纹理坐标的横坐标,也即交点在起始点A右侧,则判定纹理坐标对应的射线与多边形相交;若否,则判定纹理坐标对应的射线与所述多边形未相交。
S32:基于所述判断结果计算每一所述纹理坐标对应射线与所述多边形相交的数量,得到目标相交数量。
S33:若所述目标相交数量为奇数,则判定所述纹理坐标处于所述多边形内部,并将处于所述多边形内部的纹理坐标作为所述目标内部点坐标。
S34:若所述目标相交数量为偶数,则判定所述纹理坐标处于所述多边形外部,并将处于所述多边形外部的纹理坐标作为所述目标外部点坐标。
具体地,累加每一纹理坐标对应射线与多边形相交的数量,得到目标相交数量,若目标相交数量为奇数,则判断纹理坐标处于多边形内部,并将处于多边形内部的纹理坐标作为目标外部点坐标;若目标相交数量为偶数,则判定纹理坐标处于多边形外部,得到目标外部点坐标。进一步地,将目标内部点坐标进行显示处理,将目标外部点坐标进行隐藏处理,从而显示出遮罩出来,而多边形边缘的点坐标用于羽化处理。
S4:基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。
请参阅图10至图12,图6示出了步骤S4的一种具体实施方式;图11是本申请实施例提供的距离场效果示意图;图12是本申请实施例提供的平滑阶梯函数示意图;详叙如下:
S41:计算所述目标点坐标到所述多边形的最短距离。
具体地,依次计算点到多边形不同边的距离,取距离最小的的距离作为点到多边形边的最短距离minL,点到边的距离公式如下:
其中,distanceToEdge(p,v0,v1)为点对边的距离,<p-v0,v1-v0>:表示向量的点乘运算,<p-v0,v1-v0>:表示向量的点乘运算,||*||:表示向量的长度,P为目标点坐标,v0和v1为多边形的边。
S42:采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度。
进一步地,提供步骤S42的一种具体实施方式:将任一所述最短距离以及两个预设边界值输入至平滑阶段函数中进行阶段平滑处理,得到阶段平滑处理后的透明度。
其中,所述平滑阶段函数的计算方式为:
y=k*k*(3-2k);
其中,t1、t2为两个所述预设边界值、x为所述最短距离,k为平滑系数,y所述透明度。
具体地,之所以需要进行阶段平滑过渡,是因为通过平滑阶梯函数可以产生距离场的效果,这种效果就是类似羽化的视觉效果,其产生的效果如图11所示。在本申请实施例中,使用OpenGL的smoothstep的进行阶梯平滑,得出alpha值(透明度)。
S43:基于所述透明度将所述原图的透明通道进行修改,并将所述原图上每一像素点的颜色值与所述透明度进行相乘计算,以对所述原图的颜色值进行修改,得到所述目标图像。
具体地,在本申请实施例中为了避免羽化出现分界线,需要对原图的透明通道和颜色值进行修改。将原图的透明通道修改为透明度的值,并且将原图上每一像素点的颜色值与透明度进行相乘计算,以对原图的颜色值进行修改,得到目标图像。其计算方式为:
Color=(r*alpha,g*alpha,b*alpha,alpha)
其中,r、g、b为原图的三个颜色通道的值,alpha为透明度。
本申请实施例中,记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。本发明实施例利用用户在UI控件上所绘制遮罩的点集合进行图像视频遮罩,无须构建mask,同时能够适应不同的尺度的遮罩范围,有利于提高图像视频遮罩的效果和效率。
请参考图13,作为对上述图1所示方法的实现,本申请提供了一种基于点集合的图像视频遮罩装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图13所示,本实施例的基于点集合的图像视频遮罩装置包括:点集合记录单元51、纹理坐标生成单元52、目标点坐标确认单元53及目标图像生成单元54,其中:
点集合记录单元51,用于记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;
纹理坐标生成单元52,用于将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;
目标点坐标确认单元53,用于识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;
目标图像生成单元54,用于基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。
进一步地,纹理坐标生成单元52包括:
屏幕坐标转换单元,用于按照预设方式将所述点集合中的每一点坐标转换为OpenGL的屏幕坐标,其中,所述预设方式为将所述点坐标的横坐标作为所述屏幕坐标的横坐标,将所述原图的高度减去所述点坐标的纵坐标的值作为所述屏幕坐标的纵坐标;
坐标系转换单元,用于计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,得到所述纹理坐标。
进一步地,坐标系转换单元包括:
模型矩阵计算单元,用于根据所述OpenGL中的模型缩放值、模型旋转值和模型位移计算出所述模型矩阵;
视图矩阵计算单元,用于根据所述OpenGL中的视图旋转值和视图位移计算出所述视图矩阵;
投影矩阵生成单元,用于将预设矩阵作为所述投影矩阵;
结果矩阵计算单元,用于基于所述模型矩阵、所述视图矩阵和所述投影矩阵计算出结果矩阵;
纹理坐标获取单元,用于根据所述结果矩阵的逆矩阵将所述屏幕坐标进行坐标系转换,得到所述纹理坐标。
进一步地,目标点坐标确认单元53包括:
判断结果生成单元,用于采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果;
目标相交数量生成单元,用于基于所述判断结果计算每一所述纹理坐标对应射线与所述多边形相交的数量,得到目标相交数量;
目标外部点坐标识别单元,用于若所述目标相交数量为奇数,则判定所述纹理坐标处于所述多边形内部,并将处于所述多边形内部的纹理坐标作为所述目标内部点坐标;
目标外内部点坐标识别单元,用于若所述目标相交数量为偶数,则判定所述纹理坐标处于所述多边形外部,并将处于所述多边形外部的纹理坐标作为所述目标外部点坐标,其中,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理。
进一步地,判断结果生成单元包括:
目标射线生成单元,用于以每一所述纹理坐标为起点向右发出一条射线,得到目标射线;
射线排除单元,用于排除与所述多边形的预设未相交情况的目标射线;
相交坐标计算单元,用于计算所述目标射线与所述多边形相交的坐标,得到相交坐标;
坐标判断单元,用于若所述相交坐标的横坐标是否大于所述纹理坐标的横坐标,以判断所述纹理坐标对应的射线是否与所述多边形相交,得到所述判断结果。
进一步地,目标图像生成单元54包括:
最短距离计算单元,用于计算所述目标点坐标到所述多边形的最短距离;
透明度计算单元,用于采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度;
图像修改单元,用于基于所述透明度将所述原图的透明通道进行修改,并将所述原图上每一像素点的颜色值与所述透明度进行相乘计算,以对所述原图的颜色值进行修改,得到所述目标图像。
进一步地,透明度计算单元包括:
平滑处理单元,用于将任一所述最短距离以及两个预设边界值输入至平滑阶段函数中进行阶段平滑处理,得到阶段平滑处理后的透明度;
其中,所述平滑阶段函数的计算方式为:
y=k*k*(3-2k);
其中,t1、t2为两个所述预设边界值、x为所述最短距离,k为平滑系数,y所述透明度。
本申请实施例中,记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像。本发明实施例利用用户在UI控件上所绘制遮罩的点集合进行图像视频遮罩,无须构建mask,同时能够适应不同的尺度的遮罩范围,有利于提高图像视频遮罩的效果和效率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图14,图14为本实施例计算机设备基本结构框图。
计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有三种组件存储器61、处理器62、网络接口63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器61至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备6的操作系统和各类应用软件,例如基于点集合的图像视频遮罩方法的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备6的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行上述基于点集合的图像视频遮罩方法的程序代码,以实现基于点集合的图像视频遮罩方法的各种实施例。
网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于点集合的图像视频遮罩方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (9)
1.一种基于点集合的图像视频遮罩方法,其特征在于,包括:
记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;
将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;
识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;
基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像;
所述识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,包括:
采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果;
基于所述判断结果计算每一所述纹理坐标对应射线与所述多边形相交的数量,得到目标相交数量;
若所述目标相交数量为奇数,则判定所述纹理坐标处于所述多边形内部,并将处于所述多边形内部的纹理坐标作为所述目标内部点坐标;
若所述目标相交数量为偶数,则判定所述纹理坐标处于所述多边形外部,并将处于所述多边形外部的纹理坐标作为所述目标外部点坐标,其中,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理。
2.根据权利要求1所述的基于点集合的图像视频遮罩方法,其特征在于,所述将所述点集合中的点坐标进行坐标系转换,得到纹理坐标,包括:
按照预设方式将所述点集合中的每一点坐标转换为OpenGL的屏幕坐标,其中,所述预设方式为将所述点坐标的横坐标作为所述屏幕坐标的横坐标,将所述原图的高度减去所述点坐标的纵坐标的值作为所述屏幕坐标的纵坐标;
计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,得到所述纹理坐标。
3.根据权利要求2所述的基于点集合的图像视频遮罩方法,其特征在于,所述计算所述OpenGL中的模型矩阵、视图矩阵和投影矩阵,并基于所述模型矩阵、所述视图矩阵和所述投影矩阵将所述屏幕坐标转换进行坐标系转换,以对所述遮罩进行渲染纹理,得到纹理坐标,包括:
根据所述OpenGL中的模型缩放值、模型旋转值和模型位移计算出所述模型矩阵;
根据所述OpenGL中的视图旋转值和视图位移计算出所述视图矩阵;
将预设矩阵作为所述投影矩阵;
基于所述模型矩阵、所述视图矩阵和所述投影矩阵计算出结果矩阵;
根据所述结果矩阵的逆矩阵将所述屏幕坐标进行坐标系转换,得到所述纹理坐标。
4.根据权利要求3所述的基于点集合的图像视频遮罩方法,其特征在于,所述采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果,包括:
以每一所述纹理坐标为起点向右发出一条射线,得到目标射线;
排除与所述多边形的预设未相交情况的目标射线;
计算所述目标射线与所述多边形相交的坐标,得到相交坐标;
若所述相交坐标的横坐标是否大于所述纹理坐标的横坐标,以判断所述纹理坐标对应的射线是否与所述多边形相交,得到所述判断结果。
5.根据权利要求1至4任一项所述的基于点集合的图像视频遮罩方法,其特征在于,所述基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像,包括:
计算所述目标点坐标到所述多边形的最短距离;
采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度;
基于所述透明度将所述原图的透明通道进行修改,并将所述原图上每一像素点的颜色值与所述透明度进行相乘计算,以对所述原图的颜色值进行修改,得到所述目标图像。
6.根据权利要求5所述的基于点集合的图像视频遮罩方法,其特征在于,所述采用平滑阶段函数基于所述最短距离对所述遮罩进行阶段平滑处理,并计算出所述透明度,包括:
将任一所述最短距离以及两个预设边界值输入至平滑阶段函数中进行阶段平滑处理,得到阶段平滑处理后的透明度;
其中,所述平滑阶段函数的计算方式为:
y=k*k*(3-2k);
其中,t1、t2为两个所述预设边界值,x为所述最短距离,k为平滑系数,y所述透明度。
7.一种基于点集合的图像视频遮罩装置,其特征在于,包括:
点集合记录单元,用于记录用户在UI控件上所绘制遮罩的点集合,并基于所述点集合生成所述遮罩的多边形;
纹理坐标生成单元,用于将所述点集合中的点坐标进行坐标系转换,得到纹理坐标;
目标点坐标确认单元,用于识别出处于所述多边形内部和外部的纹理坐标,得到目标点坐标,其中,所述目标点坐标包括目标内部点坐标和目标外部点坐标,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理;
目标图像生成单元,用于基于所述目标点坐标计算出所述遮罩的透明度,并根据所述透明度对所述遮罩进行平滑处理,且根据所述透明度对原图的透明通道和颜色值进行修改,得到目标图像;
所述目标点坐标确认单元包括:
判断结果生成单元,用于采用射线法判断所述纹理坐标对应的射线是否与所述多边形相交,得到判断结果;
目标相交数量生成单元,用于基于所述判断结果计算每一所述纹理坐标对应射线与所述多边形相交的数量,得到目标相交数量;
目标外部点坐标识别单元,用于若所述目标相交数量为奇数,则判定所述纹理坐标处于所述多边形内部,并将处于所述多边形内部的纹理坐标作为所述目标内部点坐标;
目标外内部点坐标识别单元,用于若所述目标相交数量为偶数,则判定所述纹理坐标处于所述多边形外部,并将处于所述多边形外部的纹理坐标作为所述目标外部点坐标,其中,将所述目标内部点坐标进行显示处理,将所述目标外部点坐标进行隐藏处理。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的基于点集合的图像视频遮罩方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于点集合的图像视频遮罩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311856747.2A CN117793442B (zh) | 2023-12-29 | 2023-12-29 | 基于点集合的图像视频遮罩方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311856747.2A CN117793442B (zh) | 2023-12-29 | 2023-12-29 | 基于点集合的图像视频遮罩方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117793442A CN117793442A (zh) | 2024-03-29 |
CN117793442B true CN117793442B (zh) | 2024-07-09 |
Family
ID=90396073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311856747.2A Active CN117793442B (zh) | 2023-12-29 | 2023-12-29 | 基于点集合的图像视频遮罩方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117793442B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780642A (zh) * | 2016-11-15 | 2017-05-31 | 网易(杭州)网络有限公司 | 迷雾遮罩贴图的生成方法及装置 |
CN112734896A (zh) * | 2021-01-08 | 2021-04-30 | 网易(杭州)网络有限公司 | 环境遮蔽渲染方法、装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293616A (ja) * | 2005-06-06 | 2005-10-20 | Dainippon Printing Co Ltd | 画像合成装置 |
CN110276791B (zh) * | 2019-06-28 | 2021-04-06 | 北京航空航天大学 | 一种参数可配置的深度相机仿真方法 |
CN111045582B (zh) * | 2019-11-28 | 2023-05-23 | 深圳市木愚科技有限公司 | 一种个性化虚拟人像活化互动系统及方法 |
-
2023
- 2023-12-29 CN CN202311856747.2A patent/CN117793442B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780642A (zh) * | 2016-11-15 | 2017-05-31 | 网易(杭州)网络有限公司 | 迷雾遮罩贴图的生成方法及装置 |
CN112734896A (zh) * | 2021-01-08 | 2021-04-30 | 网易(杭州)网络有限公司 | 环境遮蔽渲染方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117793442A (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN112418216A (zh) | 一种复杂自然场景图像中的文字检测方法 | |
CN112766027A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112991377A (zh) | 一种基于opencv和shader融合技术的抠像算法 | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN116802683A (zh) | 图像的处理方法和系统 | |
CN116070687A (zh) | 一种基于全局光线空间仿射变换的神经网络光场表示方法 | |
CN111311720B (zh) | 一种纹理图像的处理方法和装置 | |
CN117793442B (zh) | 基于点集合的图像视频遮罩方法、装置、设备及介质 | |
CN112580213B (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
CN112528707A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111552755B (zh) | 三维地名标注的绘制方法、装置、设备及存储介质 | |
CN114387315A (zh) | 图像处理模型训练、图像处理方法、装置、设备及介质 | |
CN113849118A (zh) | 一种应用于电子白板的图像识别方法及相关装置 | |
US20230316597A1 (en) | Method and apparatus for rendering hair, computer storage medium, electronic device | |
CN116962817B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN113822961B (zh) | 对3d模型进行2d渲染的方法、装置、设备及介质 | |
CN109410224B (zh) | 一种图像分割方法、系统、装置及存储介质 | |
CN114546555B (zh) | 一种基于空间几何的图形拾取方法、装置及介质 | |
CN114972114A (zh) | 三维文字的倒角结构生成方法、装置、设备及存储介质 | |
CN112767518A (zh) | 虚拟动画特效制作方法、装置及电子设备 | |
CN117789211A (zh) | 基于仿真平台的仿真数据标注方法、装置、设备及介质 | |
CN118451446A (zh) | 电子装置及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |