发明名称 一种生成二维码图片的方法
摘要 本发明一种生成二维码图片的方法,利用人脸识别技术识别出背景图片中的人脸位置和区域,避开该人脸位置生成二维码,然后通过读取背景图片的大小,然后根据码点的数量计算码点显示区域的大小,保证最终形成的带有二维码信息的PNG图片与背景图片大小一致;在形成透明PNG图片时,对码点大小、形状不限制,只要完全落入码点显示区域内即可,没有固定大小的概念,且让码点呈现出立体感,不至于和底图色混淆,更容易区分出码,降低扫码点错误率,解码效率更高,在不影响二维码的功能前提下,能将背景图片的人脸完整地呈现出来,更好地增加二维码的视觉效果,可进一步拓展二维码的使用功能和范围。
申请公布号 CN105718980A 申请公布日期 2016.06.29
申请号 CN201610022987.6 申请日期 2016.01.14
申请人 厦门纳纬信息技术有限公司 发明人 李舜全;林健
分类号 G06K19/06(2006.01)I 主分类号 G06K19/06(2006.01)I
代理机构 厦门市新华专利商标代理有限公司 35203 代理人 朱凌
主权项 一种生成二维码图片的方法,其特征在于包括如下步骤:步骤1、利用人脸识别技术识别出背景图片中人脸,并将其框出获得人脸区域及其位置信息; 步骤2、根据人脸区域位置信息计算人脸所占背景图片的比例;步骤3、根据人脸在背景图片的占有比例计算出对应的码点数,获得应扣除码点数,在用户输入的信息生成二维码时获得的补码数中减去应扣除码点数,得到最终的补码数;步骤4、将用户输入的信息根据二维码的生成码规则生成相应的由0或1代码组成的二维码矩阵M*M的过程中,结合人脸区域的位置信息,在二维码矩阵M*M中涉及人脸位置的部分设置不打码信息;步骤5、获取背景图片调整为正方形获得边宽像素值;步骤6、将背景图片的边宽像素值除以二维码矩阵码点数M,计算出每个码点的最大像素值N,获得码点显示区域N*N;步骤7、在每个码点显示区域内打上任意大小和形状的码点,获得一张和背景图片相同大小的带有二维码信息的透明PNG图片:步骤71、根据二维码矩阵,若在码点显示区域内码点颜色为黑色,则先在码点显示区域内打上形状大小略大于码点形状的底色区块,采用黑色的对比色;步骤72、对码点显示区域内的底色区块做透明化处理;步骤73、在该底色区域上形成一个形状略小且透明度值为0的黑色码点,该具有立体效果的码点可以是任意形状;步骤74、重复步骤71至步骤73直至在每个码点显示区域内都打上码点;步骤8、将透明PNG图片和背景图片相重叠使两个图片完全重合,合成一张人脸完整显示并带有背景图的二维码图片。
地址 361000 福建省厦门市软件园二期望海路15号404单元之二