一种加强视觉效果的人像三维码快速生成方法与流程

文档序号:29853281发布日期:2022-04-30 08:33阅读:141来源:国知局
一种加强视觉效果的人像三维码快速生成方法与流程

1.本发明涉及一种加强视觉效果的人像三维码快速生成方法,属于符号编码的生成和图像处理技术领域。


背景技术:

2.目前,对于图像与二维条码的融合多采用中间嵌入图标的方式(如图1)或者是对码点进行颜色、形状的变形美化,以及通过添加码点之间的连接、融合来形成图案(如图2)。
3.融合人物图像的二维条码可在不进行扫码的情况下了解二维条码包含的一部分信息,因此广泛应用于定制名片领域中。
4.现有技术中专利号为“cn104751410a”的发明专利提出了一种图像与二维码的融合方法及装置,通过获取待融合的图像及二维码,并根据二维码的单元大小将图像划分成多个图像区域,再将二维码中第一区域的值覆盖到对应的图像区域的中心位置,并将二维码中第二区域的值覆盖到对应的图像区域,得到融合图像后的二维码,从而扩大了图像的显示区域,优化了融合后的二维码的显示效果。
5.上述现有技术存在的问题是,只是简单的将把二维条码简单地覆盖到人像图片的一个边缘部位,未对图像中人脸的位置、显示范围、显示轮廓进行调整,导致视觉效果差,辨识度较低,易被涂改,对于优化视觉效果的处理有所欠缺。


技术实现要素:

6.为了解决上述现有技术中存在的问题,本发明提出了一种加强视觉效果的人像三维码快速生成方法,识别带有人像的原始图片中人像的位置信息和轮廓信息,根据识别到信息调整人像的大小和位置,并去除人像轮廓内的码点,提升了人像三维码的人像视觉效果。
7.本发明的技术方案如下:
8.一种加强视觉效果的人像三维码快速生成方法,包括以下步骤:
9.输入带有人像的原始图片,确定原始图片的尺寸数据;获取待生成的目标三维码图片的尺寸数据、编码信息以及二维码容错级别;
10.通过人像识别技术对原始图片中进行人像检测和轮廓识别,获取人像检测框的位置信息以及人像的轮廓,根据人像的轮廓去除原始图片中人像轮廓外的像素点,得到人像图片;
11.根据编码信息以及二维码容错级别生成二维码的编码矩阵,并获取编码矩阵的尺寸数据;
12.确定人脸中心点在目标三维码图片中的位置信息以及最大人脸面积;
13.根据所述目标三维码图片的尺寸数据、人脸中心点的位置信息和最大人脸面积调整人像图片中人像的大小和位置;
14.将调整后的人像图片与编码矩阵进行叠加,并根据人像检测框的位置信息去除编
码矩阵中位于人像的轮廓内的码点,得到目标三维码图片。
15.作为优选实施方式,所述获取人像检测框的位置信息的步骤具体为:
16.对原始图片建立第一坐标系;
17.获取人像检测框的一端点在第一坐标系中的坐标,并获取人像检测框在第一坐标系的尺寸数据。
18.作为优选实施方式,所述根据所述目标三维码图片的尺寸数据、人脸中心点的位置信息和最大人脸面积调整人像图片中人像的大小和位置的步骤具体为:
19.对目标三维码图片建立第二坐标系;
20.根据原始图片的尺寸数据、目标三维码图片的尺寸数据以及人像最大面积,计算原始图片的缩放比例;
21.根据原始图片的缩放比例以及人脸中心点的位置信息,计算原始图片在第二坐标系中的位置信息;
22.根据原始图片在第二坐标系中的位置信息,调整人像图片的人脸位置并调整人像图片的大小。
23.作为优选实施方式,所述根据人像检测框的位置信息去除编码矩阵中位于人像的轮廓内的码点的步骤具体为:
24.根据原始图片的缩放比例以及人脸中心点的位置信息,将人像检测框在第一坐标系中的位置信息转换为人像检测框在第二坐标系中的位置信息;
25.建立码点坐标系;
26.根据编码矩阵的尺寸数据以及目标三维码图片的尺寸数据确定每个码点的边长像素数;
27.根据每个码点的边长像素数,将人像检测框在第二坐标系中的位置信息转换为得到人像检测框在码点坐标系中的位置信息;
28.根据人像检测框在码点坐标系中的位置信息确定处于人像检测框中的码点对应在调整后的人像图片中的像素块是否属于背景,属于背景则将该码点放入隐藏码点集合中,不属于则放入显示码点集合中;
29.将调整后的人像图片与编码矩阵进行叠加,去除隐藏码点集合中的码点,得到目标三维码图片。
30.作为优选实施方式,在将人像检测框在第一坐标系中的位置信息转换为人像检测框在第二坐标系中的位置信息步骤之前,还包括预处理步骤,具体为:
31.调整人像检测框在第一坐标系的尺寸数据,使人像检测框包含人像的额头部分。
32.作为优选实施方式,在将人像检测框在第二坐标系中的位置信息转为为人像检测框在码点坐标系中的位置信息的步骤之后,还包括后处理步骤,具体为:
33.调整人像检测框在码点坐标系中的位置信息,使人像检测框包括头发、脖子和肩膀部分。
34.作为优选实施方式,所述最大人脸面积根据二维码容错级别确定。
35.本发明具有如下有益效果:
36.1、本发明一种加强视觉效果的人像三维码快速生成方法,对带有人像的原始图片进行人脸识别,根据识别到信息调整人像的大小和位置,并去除人像轮廓内的码点,提升了
人像三维码的视觉效果。
37.2、本发明一种加强视觉效果的人像三维码快速生成方法,通过调整人脸大小和位置从而避免人脸占原始图片比例太大或位置与二维条码定位符重合时,去除面部点造成条码无法识读的问题。
38.3、本发明一种加强视觉效果的人像三维码快速生成方法,根据人物面部轮廓及脖子、肩膀等细节去除码点而非简单地根据人脸检测矩形框去除码点,保留了更多的人物特征,提升了视觉效果。
39.4、本发明一种加强视觉效果的人像三维码快速生成方法,通过在调整码点透明度后使码点颜色与图片颜色可以有更好的融合对原始图片进行模糊后与人像图片叠加形成背景底图,而非简单采用纯色背景或固定背景,解决了当人物面部调整使的原图片无法充满最终的三维码图片时的背景补色问题。
附图说明
40.图1为背景技术中提到的采用嵌入图标的方式生成的三维码示例图;
41.图2为背景技术中提到的采用添加码点之间的连接、融合来形成方式生成的二维码示例图;
42.图3为本发明实施例一的方法流程图;
43.图4为本发明实施例中原始图片的示例图;
44.图5为本发明实施例中人像图片的示例图;
45.图6为本发明实施例中调整后的人像图片的示例图;
46.图7为人脸过大或位置不合适的三维码图片的示例图;
47.图8为简单按照人脸检测框去除码点,填补纯色背景的三维码图片的示例图。
具体实施方式
48.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
50.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
51.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
52.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
53.实施例一:
54.参见图3,一种加强视觉效果的人像三维码快速生成方法,包括以下步骤:
55.输入一张带有人像的原始图片p1,确定原始图片的尺寸数据,包括宽度像素数px1以及高度像素数py1;获取待生成的目标三维码图片的尺寸数据、编码信息i以及二维码容错级别e;本实施例中目标三维码图片为正方形,因此尺寸数据为正方形的边长像素数px6。
56.调用人像识别模块,本实施例中人像识别模块为opencv模型,利用opencv的人像检测和轮廓识别的代码功能模块对原始图片p1进行识别,获取人像检测框fr的位置信息以及人像的轮廓,将人像的轮廓为一个封闭区域,对人像的轮廓内的像素点作标记,去除未做标记的像素点即人像轮廓外的像素点,得到人像图片p2;
57.去除原始图片中人像轮廓外的像素点的方法具体为将人像轮廓外的像素点的argb值设置为(0,0,0,0)。
58.根据编码信息i以及二维码容错级别e,基于qr码(也可是其他类型的二维码)原理生成二维码的编码矩阵m,并获取编码矩阵的尺寸数据,编码矩阵的尺寸数据为编码矩阵的宽度w,即矩阵中一横排上的码点数量。
59.确定人脸中心点fpo在目标三维码图片中的位置信息以及最大人脸面积fpr,在本实施例中,为达到尽量美观的效果,人脸中心点fpo设为在图片的纵中轴线的上部黄金分割点位置。
60.根据所述目标三维码图片的尺寸数据、人脸中心点fpo的位置信息和最大人脸面积调整人像图片p2中人像的大小和位置,得到调整后的人像图片p3。
61.将调整后的人像图片p3与编码矩阵m进行叠加,并根据人像检测框fr的位置信息去除编码矩阵m中位于人像的轮廓内的码点,得到目标三维码图片p6。
62.作为本实施例的优选实施方式,所述获取人像检测框的位置信息的步骤具体为:
63.以原始图片p1的左边界和上边界建立第一坐标系cs1,原始图片p1的左上角顶点的坐标为(1,1),右上角顶点坐标为(px1,1),左下角顶点坐标为(1,py1),右下角顶点的坐标为(px1,py1)。
64.人像检测框fr的位置信息c1中包含4个数据x1,y1,w1,h1,具体为人像检测框fr在第一坐标系cs1中的左上角顶点的坐标(x1,y1),以及人像检测框fr的宽度w1和高度h1。
65.作为本实施例的优选实施方式,所述根据所述目标三维码图片的尺寸数据、人脸中心点的位置信息和最大人脸面积调整人像图片中人像的大小和位置的步骤具体为:
66.以p6的左边界和上边界建立第二坐标系cs6,p6的左上角顶点的坐标为(1,1),右上角顶点坐标为(px6,1),左下角顶点坐标为(1,px6)右下角顶点的坐标为(px6,px6)。则预设人脸中心点fpo的位置为(px6*0.5,px6*0.382)。
67.根据原始图片的尺寸数据、目标三维码图片的尺寸数据以及人像最大面积fpr,计算原始图片的缩放比例scale:
[0068][0069]
根据原始图片的缩放比例scale以及人脸中心点的位置信息,计算原始图片p1在第二坐标系cs6中的位置信息c2,c2中包含4个数据x2,y2,w2,h2,分别为在第二坐标系cs6中,图片的左上角的顶点的坐标(x2,y2),其宽度w2和其高度h2;具体计算步骤为:
[0070]
x2=px6*0.5-w1*scale*0.5-x1*scale
[0071]
y2=px6*0.5-h1*scale*0.5-y1*scale-px6*0.118
[0072]
w2=px6*0.5-px1*scale
[0073]
h2=px6*0.5-py1*scale
[0074]
根据原始图片p1在第二坐标系中的位置信息c2,调整人像图片p2的人脸位置并调整人像图片的大小,具体为:
[0075]
在第二坐标系cs6中,放置一张边长像素数为px6,左上角顶点位于(1,1)且右下角顶点位于(px6,px6)的正方形纯透明图片,然后把人像图片p2按照位置信息c2的坐标位置覆盖在正方形纯透明图片上面,截取左上角顶点为(1,1)右下角顶点为(px6,px6)的部分即为调整后的人像图片p3。
[0076]
作为本实施例的优选实施方式,所述根据人像检测框的位置信息去除编码矩阵中位于人像的轮廓内的码点的步骤具体为:
[0077]
根据原始图片的缩放比例以及人脸中心点的位置信息,将人像检测框在第一坐标系中的位置信息转换为人像检测框在第二坐标系中的位置信息;
[0078]
建立码点坐标系csm,在此坐标系中,每个码点的坐标定义如下,最左上角的码点坐标为(1,1),最右下角的码点坐标为(w,w),最右上角的码点坐标为(w,1),最左下角的码点坐标为(1,w)。
[0079]
根据编码矩阵的尺寸数据以及目标三维码图片的尺寸数据确定每个码点的边长像素数mul为:
[0080]
mul=px6/w
[0081]
根据每个码点的边长像素数,将人像检测框在第二坐标系中的位置信息转换为得到人像检测框在码点坐标系中的位置信息c4,c4包含四个数据x41,y41,x42,y42,具体为人像检测框在码点坐标系中的左上角顶点坐标(x41,y41)和右下角顶点坐标(x42,y42),具体计算方法为:
[0082]
x41=x3/mul
[0083]
y41=y3/mul
[0084]
x42=(x3+w3)/mul
[0085]
y42=(y3+h3)/mul
[0086]
根据人像检测框在码点坐标系中的位置信息c4确定处于人像检测框中的每个码点mi对应在调整后的人像图片p3中的像素块是否属于背景,即此像素块是否超过透明阈值ea;单个像素点的透明得分即alpha通道的值pij
alpha
是否为0,透明计为0,不透明计为1。此码点mi的透明得分即为所含的每个像素点pij的透明得分之和,若码点mi得分大于ea,则把mi的坐标(xmi,ymi)添加到隐藏码点集合c5中,否则,添加到显示码点集合c6中。
[0087][0088][0089]
ea=β*mul*mul
[0090]
将调整后的人像图片p3与编码矩阵m进行叠加,去除隐藏码点集合c5中的码点,得到目标三维码图片p6。
[0091]
作为本实施例的优选实施方式,所述最大人脸面积fpr根据二维码容错级别e确定,根据二维码容错级别e可以获得二维条码容错率el,根据容错率el可以计算出最大人脸面积。经过实验,本实施例中确定人脸面积的计算公式为:
[0092]
fpr=el/2
[0093]
本实施例中,以二维码为qr码为例,最大人脸面积fpr和二维码容错级别e的对表如下:
[0094]
表1:最大人脸面积fpr和二维码容错级别e对应表
[0095]
容错级别e二维条码容错率最大人脸面积fprl8%4%m15%8%q25%12%h30%15%
[0096]
实施例二:
[0097]
本实施例相较于实施例一的进步之处在于,对人像检测框的位置进行调整,保留更多的人物特征,提升视觉效果,具体方案如下:
[0098]
在将人像检测框在第一坐标系中的位置信息转换为人像检测框在第二坐标系中的位置信息步骤之前,还包括预处理步骤,具体为:
[0099]
调整人像检测框在第一坐标系的尺寸数据,使人像检测框包含人像的额头部分:
[0100][0101]
作为本实施例的优选实施方式,在将人像检测框在第二坐标系中的位置信息转为为人像检测框在码点坐标系中的位置信息的步骤之后,还包括后处理步骤,具体为:
[0102]
调整人像检测框在码点坐标系中的位置信息,使人像检测框包括头发、脖子和肩膀部分,并尽量减少计算复杂度,以方便结合轮廓信息进行快速计算:
[0103]
x41=max(x41-3,1)
[0104]
y41=max(y41-6,1)
[0105]
x42=min(x42+6,w)
[0106]
y42=min(y42+4,w)
[0107]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1