字符水印生成和提取方法以及系统技术方案

技术编号:38404053 阅读:10 留言:0更新日期:2023-08-07 11:14
本发明专利技术字符水印生成和提取方法以及系统特别涉及一种矢量字符变形方法,包括如下步骤:S100、根据矢量字符的数据获取字符的关键点位置信息,选择任意组关键点作为待偏移关键点;S200、将横坐标满足[x

【技术实现步骤摘要】
字符水印生成和提取方法以及系统


[0001]本专利技术涉及字体设计
,特别涉及一种字符水印生成和提取方法以及系统。

技术介绍

[0002]字体水印是一种文本水印技术,可以将特定水印信息(名称、ID等)编码后隐藏在组成文档的字形中,最后可用特定程序提取水印信息。嵌入信息后的文档看上去不会有明显变化,但是实际上文档已经被嵌入了唯一的水印信息,这样可以在不破坏原始文档内容且不被人察觉的情况下,实现文本内容的版权防护与泄密溯源。
[0003]目前有两种字体水印相关的技术方案,第一种方案主要通过人工微调目标字体来生成多个相似的字体并制作成专有字库,在嵌入端通过选择不同的字体变形来表达不同的水印信息。这些字体在人眼观看时几乎没有不同,但在提取端可以通过图像匹配的方式进行识别,从而提取出水印信息。该方案的缺陷在于需要投入大量的人工和时间成本来设计字库;同时,由于使用单个字形的变化表示信息,该方案的鲁棒性较弱,在截屏、压缩、纸质文档拍照、屏幕文档拍照等常见场景下无法成功提取水印信息。
[0004]另一种方案通过字形流图半自动地生成目标字体的相似字体,然后对每一个字形的不同变体训练分类网络来提取信息。该方案可以半自动生成字库,相比于第一种方案节省了人力成本。但是,由于对每个字形都要训练对应的分类网络,该方案只适用于字形种类较少的语言(如英文),并且只能用于字号较大的场景(如海报)。

技术实现思路

[0005]本专利技术的首要目的在于提供一种矢量字符变形方法,在进行字符变形的时候减少人工介入环节,降低工作量。
[0006]为实现以上目的,本专利技术采用的技术方案为:一种矢量字符变形方法,包括如下步骤:S100、根据矢量字符的数据获取字符的关键点位置信息,选择任意组关键点作为待偏移关键点;S200、将横坐标满足[x
min
,x
max
]或纵坐标满足[y
min
,y
max
]的待偏移关键点沿横向或纵向进行偏移,每个横坐标或纵坐标区间内的待偏移关键点朝向同一侧偏移且偏移量小于等于设定阈值,横坐标或纵坐标区间为一组或一组以上;S300、根据偏移后关键点的位置信息生成变形字符。
[0007]本专利技术的另一个目的在于提供一种矢量字符变形系统,在进行字符变形的时候减少人工介入环节,降低工作量。
[0008]为实现以上目的,本专利技术采用的技术方案为:一种矢量字符变形系统,包括字符关键点读取模块,用于从矢量字符的数据中读取关键点位置信息,并选择任意组关键点作为待偏移关键点;字符变形模块,将横坐标满足[x
min
,x
max
]或纵坐标满足[y
min
,y
max
]的待偏移关键点沿横向或纵向进行偏移,每个横坐标或纵坐标区间内的待偏移关键点朝向同一侧偏移且偏移量小于等于设定阈值,横坐标或纵坐标区间为一组或一组以上;矢量字符生成模
24

22L21

17Q5357846Q10388113139Q120173120190Q120197119199L122203L137181Q132179130167Q126149122129Q1577017148Z"horiz

adv

x="256"vert

adv

y="256"/>,这个数据是通过第三方库处理得到的,不同的算法对同一个字处理得到的数据不同。
[0014]该段数据中,从“d=”后面的一段内容,我们可以读出如下信息:“M”后面的数据构成一个组,一般我们用英文part来描述“组”,有的字符只有一个part,有的字符有多个part,我们说的选择“任意组”表示的是,针对某个字符,选择其中任意一个part或任意多个part,当选择所有part时,既选择了整个字符。“L”表示直线,其前后的数据分别代表直线的起点和终点坐标;“Q”表示贝塞尔曲线,由svg格式转化成json格式时,这些坐标被转化成对应的位置信息。
[0015]S200、将横坐标满足[x
min
,x
max
]或纵坐标满足[y
min
,y
max
]的待偏移关键点沿横向或纵向进行偏移,每个横坐标或纵坐标区间内的待偏移关键点朝向同一侧偏移且偏移量小于等于设定阈值,横坐标或纵坐标区间为一组或一组以上。需要说明的是,本案中的x
min
,x
max
,y
min
,y
max
表示的是偏移区间的位置信息,X
min
,X
max
,Y
min
,Y
max
表示的是整个字符的横坐标最小值、横坐标最大值、纵坐标最小值以及纵坐标最大值,两者是有区别的。并且,后文中述及的每一个横坐标区间即对应一组x
min
,x
max
,每一个纵坐标区间即对应一组y
min
,y
max

[0016]S300、根据偏移后关键点的位置信息生成变形字符,步骤S300是与步骤S100相对应的步骤,即将json格式的数据先转换成svg格式后再转换成ttf格式的字体文件。本专利技术中直接从原始字符的矢量数据中读取关键点位置,然后对关键点位置按照一定规则进行变形,再根据变形后的关键点位置信息生成变形字符,整个变形过程都是针对矢量图进行的,无需转化成图片,所以变形过程中不会丢失细节,变形速度快;最重要的是,本专利技术中的变形方式,基本无需人工介入,降低工作量,且不受字体影响,如宋体、微软雅黑、楷体等,也不受字符种类限制,如中文、英文、日语、韩语等,对绝大多数字符都能方便的实现变形操作。
[0017]上述方案中,一组x
min
,x
max
即对应一个横坐标区间,“横坐标或纵坐标区间为一组或一组以上”,表示的是对字体进行变形时,可以选择一个或多个区域进行变形,当选择一组横坐标区间或纵坐标区间时,就相当于选择了一个区域,当选择多组横坐标区间或纵坐标区间时,就相当于选择了多个区域。
[0018]上述方案中,当将矢量字符数据转换成关键点位置信息后,即构建了二维坐标系,该坐标系中,字符的左上角为坐标系原点,沿水平向右为x正方向,沿竖直向下为y正方向。本案中所有关于方向的描述都是基于此进行的,比如:“横向”、“水平方向”均表示与x轴平行的方向;“纵向”、“竖直方向”均表示与y轴平行的方向;“x负方向”即沿水平向左的方向;“y负方向”即沿竖直向上的方向;“上”即“y负方向”,“下”即“y正方向”,“左”即“x负方向”,“右”即“x正方向”。下列所有针对方向的表述都是以此为基准的,关键点的位置信息就是其位于上述二维坐标系中的坐标。
[0019]上述方案中,关键点的偏移量可以不同,但都必须小于等于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矢量字符变形方法,其特征在于:包括如下步骤:S100、根据矢量字符的数据获取字符的关键点位置信息,选择任意组关键点作为待偏移关键点;S200、将横坐标满足[x
min
,x
max
]或纵坐标满足[y
min
,y
max
]的待偏移关键点沿横向或纵向进行偏移,每个横坐标或纵坐标区间内的待偏移关键点朝向同一侧偏移且偏移量小于等于设定阈值,横坐标或纵坐标区间为一组或一组以上;S300、根据偏移后关键点的位置信息生成变形字符。2.如权利要求1所述的矢量字符变形方法,其特征在于:所述的步骤S200中,针对任一横坐标区间内的待偏移关键点,横坐标相同的关键点偏移量一致;针对任一纵坐标区间内的待偏移关键点,纵坐标相同的关键点偏移量一致。3.如权利要求2所述的矢量字符变形方法,其特征在于:所述的步骤S200中,任一横坐标区间或纵坐标区间内存在一条或两条分割线,分割线上的待偏移关键点或两条分割线上以及两条分割线之间的待偏移关键点偏移量相等且为最大值,位于分割线反向两侧的待偏移关键点偏移量逐渐减小至0。4.如权利要求2所述的矢量字符变形方法,其特征在于:所述的步骤S200中,任一横坐标区间或纵坐标区间的某个端点位于矢量字符的边缘,横坐标区间内的关键点沿纵向进行偏移或纵坐标区间内的关键点沿横向进行偏移,且所有关键点的偏移量自矢量字符边缘向内逐渐减小至0。5.如权利要求3所述的矢量字符变形方法,其特征在于:所述的步骤S200中,包括如下步骤:S200a、将所有待偏移关键点沿横向偏移,分割线的方程为,其中,,式中中括号为取整操作,X
min
、X
max
分别是所有关键点横坐标的最小值、最大值,横坐标从X
min

X
mid

X
max
变化时偏移量按0

d

0这样的趋势变化,其中d为偏移量最大值。6.如权利要求3所述的矢量字符变形方法,其特征在于:所述的步骤S200中,包括如下偏移步骤:S200b、将所有待偏移关键点沿纵向偏移,分割线的方程为,其中,,式中中括号为取整操作,Y
min
、Y
max
分别是所有关键点纵坐标的最小值、最大值,纵坐标从Y
min

Y
mid

Y
max
变化时偏移量按0

d

0这样的趋势变化,其中d为偏移量最大值。7.如权利要求4所述的矢量字符变形方法,其特征在于:所述的步骤S200中,包括如下偏移步骤:S200c、将所有待偏移关键点沿横向偏移,Y
min
、Y
max
分别是所有关键点纵坐标的最小值、最大值,纵坐标从Y
min

Y
max
变化时偏移量按0

d或d

0这样的趋势变化,其中d为偏移量最大值。8.如权利要求4所述的矢量字符变形方法,其特征在于:所述的步骤S200中,包括如下偏移步骤:
S200d、将所有待偏移关键点沿纵向偏移,X
min
、X
max
分别是所有关键点横坐标的最小值、最大值,横坐标从X
min

X
max
变化时偏移量按0

d或d

0这样的趋势变化,其中d为偏移量最大值。9.如权利要求1所述的矢量字符变形方法,其特征在于:所述的步骤S200中,针对任一标准矢量字符,分别计算其多种偏移方式后关键点位置信息,步骤S300中,根据多个偏移后关键点的位置信息分别生成多个变形字符,步骤S300后还包括如下步骤:S400、从多个变形字符中挑选出一个或多个作为原始字符最终的变形字符。10.如权利要求9所述的矢...

【专利技术属性】
技术研发人员:田辉鲁国峰郭玉刚张志翔
申请(专利权)人:合肥高维数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1