CN116993860A - 文字的描边方法、设备及存储介质 - Google Patents
文字的描边方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116993860A CN116993860A CN202310924064.XA CN202310924064A CN116993860A CN 116993860 A CN116993860 A CN 116993860A CN 202310924064 A CN202310924064 A CN 202310924064A CN 116993860 A CN116993860 A CN 116993860A
- Authority
- CN
- China
- Prior art keywords
- color
- preset
- vector
- texture
- text
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 63
- 238000001914 filtration Methods 0.000 claims abstract description 44
- 238000005215 recombination Methods 0.000 claims abstract description 22
- 230000006798 recombination Effects 0.000 claims abstract description 22
- 238000009877 rendering Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 5
- 230000003321 amplification Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- 230000008521 reorganization Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
- G06T7/44—Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明涉及特效添加领域,公开了一种文字的描边方法、设备及存储介质。该方法包括:接收待描边渲染的文字图像;根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理;读取所述滤波纹理的颜色向量,以及根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量;基于所述重组向量,对所述文字图像进行描边渲染处理,生成带描边的文字图像。在本发明实施例中,解决了当前的文字描边导致的计算资源消耗过大的技术问题。
Description
技术领域
本发明涉及特效添加领域,尤其涉及一种文字的描边方法、设备及存储介质。
背景技术
在火爆的短视频制作领域中,在内容同质化较为严重的情况下,视觉效果的冲击感显得尤为重要,其中文字特效亦为内容创作者的重要手段,目前市面上的一些特效,极大的影响相关渲染效率,比如文字描边特效,图像上的每一个像素在图像上都有位置的,假定为点P(x,y),x表示像素横坐标,y表示像素纵坐标,并且图像纹理满足以下属性:文字体本身所覆盖的像素,alpha通道值为1.0f,非覆盖的像素,alpha通道(透明通道:代表当前颜色值的不透明程度)值为0.0f。在以上前置条件下,我们从文字体本身像素作为起始点,以圆周的方式进行周围像素的探测(探测半径的最大值为描边的宽度),探测过程会涉及到以下两种情形:
情形一:在探测半径内,可以探测到alpha通道值为1.0f的像素,则探测的起始点像素需要进行描边填充。
情形二:在探测半径内,无法探测到alpha通道值为1.0f的像素,则探测的起始点像素不需要进行描边填充。
传统算法的劣势:由上述两种情况可以看出,在实时绘制的时候,需要对每个alpha=0.0f的像素进行圆周探测,而这种探测是极度消耗gpu算力单元,当gpu算力单元被全部暂用的时候,则gpu新的并行绘制任务就会被暂且搁置,对用户所呈现的现象就是卡顿,或者画面刷新频率小于人类肉眼最小刷新频率(24fps)表现为掉帧。
因此,对于当前的文字描边导致的计算资源消耗过大的技术问题,需要一种新的技术来解决当前的问题。
发明内容
本发明的主要目的在于解决当前的文字描边导致的计算资源消耗过大的技术问题。
本发明第一方面提供了一种文字的描边方法,所述文字的描边方法包括:
接收待描边渲染的文字图像;
根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理;
读取所述滤波纹理的颜色向量,以及根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量;
基于所述重组向量,对所述文字图像进行描边渲染处理,生成带描边的文字图像。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理包括:
基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器;
基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理。
可选的,在本发明第一方面的第二种实现方式中,所述基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器包括:
基于预置斜率公式,代入预置探测边长长度,计算出斜率值,其中,所述斜率公式包括:
K=-1/(blursize+1)2,其中,K为斜率值,blursize为探测边长长度;
基于预置截距公式,代入预置探测边长长度,计算出截距值,其中,所述截距公式包括:
B=1/(blursize+1),其中,B为截距值,blursize为探测边长长度;
设置浮点参数,根据预置滤波框架,代入所述斜率值、所述截距值、所述浮点参数,生成三角滤波器,其中,所述滤波框架包括:
R=K*i+B,其中,R为权重值,K为斜率值,i为浮点参数,B为截距值。
可选的,在本发明第一方面的第三种实现方式中,所述基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理包括:
判断所述浮点参数是不大于预置探测边长长度;
若不大于预置探测边长长度,则基于预置模糊方向与所述浮点参数的乘积,计算出偏移量;
读取目标像素的坐标数据、目标像素的纹理数据;
根据预置色彩计算公式,代入所述纹理数据、所述坐标数据、所述权重值、所述偏移量,得到阿尔法通道的滤波纹理,以及增加所述浮点参数的数值,重新判断所述浮点参数是不大于预置探测边长长度。
可选的,在本发明第一方面的第四种实现方式中,所述色彩计算公式包括:
Color1=texelFetch(uTexture1,coordI+offset,0)*R;
Color2=texelFetch(uTexture1,coordI-offset,0)*R;
其中,Color1为第一个滤波纹理数据,Color2为第二个纹理数据,texelFetch()为纹理提取函数,uTexture1为纹理数据,coordI为坐标数据,R为权重值,offset为偏移量。
可选的,在本发明第一方面的第五种实现方式中,在所述基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器之后,在所述基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理之前,还包括:
根据所述截距值,对所述文字图像进行色彩放大处理,生成色彩放大的文字图像。
可选的,在本发明第一方面的第六种实现方式中,所述根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量包括:
读取所述颜色向量的RGB分量和阿尔法分量,生成三维颜色向量和阿尔法向量;
根据预置色彩赋值公式,对所述三维颜色向量和阿尔法向量进行色彩重组处理,生成重组向量。
可选的,在本发明第一方面的第七种实现方式中,所述预置色彩赋值公式包括:
glColor=vec3(vec3(color.rgb),clamp(color.a/m,0,1)),其中,glColor为重组向量,vec3()为三维向量创建函数,clamp()为数值限制函数,color.rgb为三维颜色向量,color.a为阿尔法向量。
本发明第二方面提供了一种文字的描边设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述文字的描边设备执行上述的文字的描边方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的文字的描边方法。
在本发明实施例中,通过类似于传统等距离描边的方式,在描边宽度并不较大的情况下,渲染结果接近传统等距离描边的方法,并且采用卷积核运算的方式,只涉及到少量颜色读取操作和浮点数计算,对GPU整体算力性能消耗较少,能够极大地节省运算资源,解决了当前的文字描边导致的计算资源消耗过大的技术问题。
附图说明
图1为本发明实施例中文字的描边方法的第一个实施例示意图;
图2为本发明实施例中文字的描边方法的第二个实施例示意图;
图3为本发明实施例中文字的描边方法的第三个实施例示意图;
图4为本发明实施例中文字的描边方法的第四个实施例示意图;
图5为本发明实施例中文字的描边方法的第四个实施例示意图;
图6为本发明实施例中的图形渲染效果示意图;
图7为本发明实施例中文字的描边设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种文字的描边方法、设备及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中文字的描边方法的第一个具体实施例包括:
101、接收待描边渲染的文字图像;
在本实施例中,接收需要渲染的文字图像,可以采用云端下载、H5页面下载、本地存储地址读取等方式将文字图像导入系统中。
102、根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理;
在本实施例中,卷积核存在为三角滤波器,卷积核被权重修改为三角滤波器,然后将三角滤波器对文字图像的阿尔法通道(一张图片的透明和半透明度),对阿尔法通道进行修改和重组,生成滤波纹理。
具体的,可以参考图2,图2为本发明实施例中文字的描边方法的第二个具体实施例,在102可以执行以下步骤:
1021、基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器;
1022、基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理。
在本实施例中,设置预置探测区域正方形边长为blursize,探测边长长度设置为blursize+1.0f(f为浮点类型常量标记)1.0f目的是为了适配卷积核,最终生成的高效的三角滤波器,三角滤波器具体公式如下:
,其中,y为因变量,x为自变量,n为卷积核半径,该函数的映射图像一条直线并且与坐标系的两轴组成一个直角三角形,在卷积核场景下,最终图形为一个底边与X轴重叠,第三个点与Y轴重叠的等腰三角形,由于在图形学场景下,所有权重之和需要归一化,则映射到图像上,则当前三角形的面积为1.0f,因为此算法不是本发明的关键点,具体推导此处不做阐述。
进一步的,可以参考图3,图3为本发明实施例中文字的描边方法的第三个具体实施例,在1021还可以执行步骤:
10211、基于预置斜率公式,代入预置探测边长长度,计算出斜率值,其中,所述斜率公式包括:
K=-1/(blursize+1)2,其中,K为斜率值,blursize为探测边长长度;
10212、基于预置截距公式,代入预置探测边长长度,计算出截距值,其中,所述截距公式包括:
B=1/(blursize+1),其中,B为截距值,blursize为探测边长长度;
10213、设置浮点参数,根据预置滤波框架,代入所述斜率值、所述截距值、所述浮点参数,生成三角滤波器,其中,所述滤波框架包括:
R=K*i+B,其中,R为权重值,K为斜率值,i为浮点参数,B为截距值。
在10211-10213中,R=K*i+B,其中,R为权重值,K为斜率值,i为浮点参数,B为截距值。卷积核和滤波器,对文字纹理进行滤波操作,操作过程中,只针对像素点的阿尔法通道进行滤波处理。
实现代码可以执行以下步骤:
k=-1.0f/((blurSize+1.0f)*(blurSize+1.0f));
b=1.0f/(blurSize+1.0f);
floatr=k*i+b。
进一步的,可以参考图4,图4为本发明实施例中文字的描边方法的第四个具体实施例,在1022还可以执行步骤:
10221、判断所述浮点参数是不大于预置探测边长长度;
10222、若不大于预置探测边长长度,则基于预置模糊方向与所述浮点参数的乘积,计算出偏移量;
10223、读取目标像素的坐标数据、目标像素的纹理数据;
10224、根据预置色彩计算公式,代入所述纹理数据、所述坐标数据、所述权重值、所述偏移量,得到阿尔法通道的滤波纹理,以及增加所述浮点参数的数值,重新判断所述浮点参数是不大于预置探测边长长度。
在10221-10224步骤中,可以采用以下代码实现:
for(floati=1.0;i<=blurSize;i+=1.0)
{
ivec2offset=ivec2(uBlurDir*i);
floatr=k*i+b;
color+=texelFetch(uTexture1,coordI+offset,0)*r;
color+=texelFetch(uTexture1,coordI-offset,0)*r;
}
代码解释为:
1、初始化浮点参数i为1.0。
2、循环条件:只要i小于等于探测边长长度blurSize。
3、在每次循环迭代之后,将浮点参数i的值增加1.0。
4、在循环中,首先计算偏移量offset,它是一个二维整数向量,由uBlurDir(模糊方向)与当前i的乘积得到。
5、接下来,通过使用coordI(可能是当前像素的坐标)和offset来采样纹理uTexture1中的像素。
6、获取采样结果后,计算权重r,它可能是通过一些常量k和b与当前i的乘法操作得出的。
7、将采样结果乘以权重r,然后加到总颜色color上。
8、同样地,在循环中进行反向偏移的操作,即从coordI减去offset并采样纹理uTexture1中的像素。
9、最后,完成了所有的循环迭代后,color变量将包含模糊效果的结果。
所述色彩计算公式包括:
Color1=texelFetch(uTexture1,coordI+offset,0)*R;
Color2=texelFetch(uTexture1,coordI-offset,0)*R;
其中,Color1为第一个滤波纹理数据,Color2为第二个纹理数据,texelFetch()为纹理提取函数,uTexture1为纹理数据,coordI为坐标数据,R为权重值,offset为偏移量。
具体的,在1021之后,在1022之前,还可以下步骤:
1021X、根据所述截距值,对所述文字图像进行色彩放大处理,生成色彩放大的文字图像。
在1021X步骤中,可以采用循环赋值的方式如color=b*color,将颜色放大截距值b倍,这个操作可以用来对颜色进行缩放或调整亮度。具体的效果取决于b的值,如果b小于1,则会降低颜色的亮度,如果b大于1,则会增加颜色的亮度。
103、读取所述滤波纹理的颜色向量,以及根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量;
在本实施例中,纹理色彩的读取可以使四维向量创建函数,具体的创建赋值代码如下:
glFragColor=vec4(glowColor,color.a)
这行代码将一个新的颜色值赋值给glFragColor,它是在着色器中用于表示当前片段(像素)的输出颜色。具体而言,vec4(glowColor,color.a)创建了一个四维向量(vec4),其中的前三个分量来自变量glowColor,最后一个分量(alpha分量)来自变量color的alpha分量。这行代码的含义是将glowColor作为片段的颜色值,并保持原来color的alpha值不变。这样做可以实现一些特效,如添加发光效果时,使用glowColor作为片段的颜色,同时保留原始颜色的透明度信息。
然后基于赋值后的颜色向量中阿法尔通道的纹理变化,进行色彩重组,生成一个重组向量。
进一步的,可以参考图5,图5为本发明实施例中文字的描边方法的第五个具体实施例,在103还可以执行步骤:
1031、读取所述颜色向量的RGB分量和阿尔法分量,生成三维颜色向量和阿尔法向量;
1032、根据预置色彩赋值公式,对所述三维颜色向量和阿尔法向量进行色彩重组处理,生成重组向量。
在1031-1032步骤中,在组装过程中,先纹理采样函数texture(uTexture1,vTexPosition1)从纹理uTexture1中获取与纹理坐标vTexPosition1对应的像素值。结果保存在临时变量color中,它是一个四维向量(vec4),包含了RGB颜色分量和alpha分量,具体采用代码如下:
vec4color=texture(uTexture1,vTexPosition1)。
然后将利用色彩赋值公式,对三维颜色向量和阿尔法向量进行色彩重组处理,重组过程中主要是将三维颜色向量RGB和阿尔法向量分别拆分运算再组合,生成重组向量。
进一步的,所述预置色彩赋值公式包括:
glColor=vec3(vec3(color.rgb),clamp(color.a/m,0,1)),其中,glColor为重组向量,vec3()为三维向量创建函数,clamp()为数值限制函数,color.rgb为三维颜色向量,color.a为阿尔法向量。
需要说明的是,clamp()是一个常用的数学函数,在计算机编程中经常被使用。它用于限制一个值在指定范围内,如果值超出了范围,则会将其限制在最小值和最大值之间。以下是clamp()函数的一般形式:clamp(value,min,max),参数说明:value为要被限制的值,为min限制的最小值,max:限制的最大值。clamp()函数的返回值是根据以下规则得到的:如果value小于min,返回min。如果value大于max,返回max。否则,返回value本身。
104、基于所述重组向量,对所述文字图像进行描边渲染处理,生成带描边的文字图像。
在本实施例中,glColor作为重组向量有RGB通道设置和阿尔通道设置,基于向量的设置数据,对文字图像进行描边渲染处理,即可生成带描边的文字图像,具体的一个显示效果可以参考图6,图6为本发明实施例中的图形渲染效果示意图。
在本发明实施例中,通过类似于传统等距离描边的方式,在描边宽度并不较大的情况下,渲染结果接近传统等距离描边的方法,并且采用卷积核运算的方式,只涉及到少量颜色读取操作和浮点数计算,对GPU整体算力性能消耗较少,能够极大地节省运算资源,解决了当前的文字描边导致的计算资源消耗过大的技术问题。
图7是本发明实施例提供的一种文字的描边设备的结构示意图,该文字的描边设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对文字的描边设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在文字的描边设备700上执行存储介质730中的一系列指令操作。
基于文字的描边设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图7示出的文字的描边设备结构并不构成对基于文字的描边设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述文字的描边方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种文字的描边方法,其特征在于,包括步骤:
接收待描边渲染的文字图像;
根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理;
读取所述滤波纹理的颜色向量,以及根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量;
基于所述重组向量,对所述文字图像进行描边渲染处理,生成带描边的文字图像。
2.根据权利要求1所述的文字的描边方法,其特征在于,所述根据预置卷积核,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理包括:
基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器;
基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理。
3.根据权利要求2所述的文字的描边方法,其特征在于,所述基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器包括:
基于预置斜率公式,代入预置探测边长长度,计算出斜率值,其中,所述斜率公式包括:
K=-1/(blursize+1)2,其中,K为斜率值,blursize为探测边长长度;
基于预置截距公式,代入预置探测边长长度,计算出截距值,其中,所述截距公式包括:
B=1/(blursize+1),其中,B为截距值,blursize为探测边长长度;
设置浮点参数,根据预置滤波框架,代入所述斜率值、所述截距值、所述浮点参数,生成三角滤波器,其中,所述滤波框架包括:
R=K*i+B,其中,R为权重值,K为斜率值,i为浮点参数,B为截距值。
4.根据权利要求3所述的文字的描边方法,其特征在于,所述基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理包括:
判断所述浮点参数是不大于预置探测边长长度;
若不大于预置探测边长长度,则基于预置模糊方向与所述浮点参数的乘积,计算出偏移量;
读取目标像素的坐标数据、目标像素的纹理数据;
根据预置色彩计算公式,代入所述纹理数据、所述坐标数据、所述权重值、所述偏移量,得到阿尔法通道的滤波纹理,以及增加所述浮点参数的数值,重新判断所述浮点参数是不大于预置探测边长长度。
5.根据权利要求4所述的文字的描边方法,其特征在于,所述色彩计算公式包括:
Color1=texelFetch(uTexture1,coordI+offset,0)*R;
Color2=texelFetch(uTexture1,coordI-offset,0)*R;
其中,Color1为第一个滤波纹理数据,Color2为第二个纹理数据,texelFetch()为纹理提取函数,uTexture1为纹理数据,coordI为坐标数据,R为权重值,offset为偏移量。
6.根据权利要求3所述的文字的描边方法,其特征在于,在所述基于预置探测边长长度,对预置卷积核进行权重分配处理,生成三角滤波器之后,在所述基于所述三角滤波器,对所述文字图像进行阿尔法通道滤波处理,得到滤波纹理之前,还包括:
根据所述截距值,对所述文字图像进行色彩放大处理,生成色彩放大的文字图像。
7.根据权利要求1所述的文字的描边方法,其特征在于,所述根据预置色彩组装算法,对所述颜色向量进行色彩重组处理,生成重组向量包括:
读取所述颜色向量的RGB分量和阿尔法分量,生成三维颜色向量和阿尔法向量;
根据预置色彩赋值公式,对所述三维颜色向量和阿尔法向量进行色彩重组处理,生成重组向量。
8.根据权利要求7所述的文字的描边方法,其特征在于,所述预置色彩赋值公式包括:
glColor=vec3(vec3(color.rgb),clamp(color.a/m,0,1)),其中,glColor为重组向量,vec3()为三维向量创建函数,clamp()为数值限制函数,color.rgb为三维颜色向量,color.a为阿尔法向量。
9.一种文字的描边设备,其特征在于,所述文字的描边设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述文字的描边设备执行如权利要求1-8中任一项所述的文字的描边方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的文字的描边方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310924064.XA CN116993860B (zh) | 2023-07-25 | 2023-07-25 | 文字的描边方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310924064.XA CN116993860B (zh) | 2023-07-25 | 2023-07-25 | 文字的描边方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116993860A true CN116993860A (zh) | 2023-11-03 |
CN116993860B CN116993860B (zh) | 2024-10-11 |
Family
ID=88525983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310924064.XA Active CN116993860B (zh) | 2023-07-25 | 2023-07-25 | 文字的描边方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116993860B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1434171A2 (en) * | 1995-08-04 | 2004-06-30 | Microsoft Corporation | Method and system for texture mapping a source image to a destination image |
WO2009018487A1 (en) * | 2007-08-01 | 2009-02-05 | Adobe Systems Incorporated | Spatially varying convolution for rendering effects |
CN108986193A (zh) * | 2018-07-10 | 2018-12-11 | 武汉国遥新天地信息技术有限公司 | 一种三维文字描边绘制方法 |
CN111723585A (zh) * | 2020-06-08 | 2020-09-29 | 中国石油大学(华东) | 一种风格可控的图像文本实时翻译与转换方法 |
-
2023
- 2023-07-25 CN CN202310924064.XA patent/CN116993860B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1434171A2 (en) * | 1995-08-04 | 2004-06-30 | Microsoft Corporation | Method and system for texture mapping a source image to a destination image |
WO2009018487A1 (en) * | 2007-08-01 | 2009-02-05 | Adobe Systems Incorporated | Spatially varying convolution for rendering effects |
CN108986193A (zh) * | 2018-07-10 | 2018-12-11 | 武汉国遥新天地信息技术有限公司 | 一种三维文字描边绘制方法 |
CN111723585A (zh) * | 2020-06-08 | 2020-09-29 | 中国石油大学(华东) | 一种风格可控的图像文本实时翻译与转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116993860B (zh) | 2024-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9508181B2 (en) | Ordering and rendering buffers for complex scenes with cyclic dependency | |
JP2020532001A (ja) | 文字画像処理方法、装置、機器及び記憶媒体 | |
GB2553641B (en) | Techniques for selecting objects in images | |
Yau et al. | The Newton and Halley methods for complex roots | |
CN108780507A (zh) | 用于提供图像分类器的系统和方法 | |
KR102108480B1 (ko) | 영상 기반 모델의 재질 추정 방법 및 장치 | |
US8907979B2 (en) | Fast rendering of knockout groups using a depth buffer of a graphics processing unit | |
CN113657396B (zh) | 训练方法、译文展示方法、装置、电子设备以及存储介质 | |
US20150010242A1 (en) | System and Method for Computer Vision Item Recognition and Target Tracking | |
CN110917617A (zh) | 水波纹图像的生成方法、装置、设备及存储介质 | |
US10521918B2 (en) | Method and device for filtering texture, using patch shift | |
EP4309116A1 (en) | User input based distraction removal in media items | |
CN113222921A (zh) | 一种图像处理方法及系统 | |
CN116993860B (zh) | 文字的描边方法、设备及存储介质 | |
US20220237444A1 (en) | Windowed contextual pooling for object detection neural networks | |
US20140368505A1 (en) | Graphics processing subsystem for recovering projection parameters for rendering effects and method of use thereof | |
US9595133B2 (en) | Information processing apparatus, control method, and storage medium for defining tiles with limited numbers of fragments | |
CN112580213B (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
CN112070854B (zh) | 一种图像生成方法、装置、设备及存储介质 | |
CN114598921B (zh) | 视频帧提取方法、装置、终端设备和存储介质 | |
CN113538210B (zh) | 一种提取局部高光的方法和装置 | |
CN114820277A (zh) | 基于OpenCL的图像处理方法、装置、计算设备及介质 | |
CN115311403A (zh) | 深度学习网络的训练方法、虚拟形象生成方法及装置 | |
CN111292342A (zh) | 图像中的文本切割方法、装置、设备及可读存储介质 | |
CN108038514A (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 |