最终实现信息二维码的生成识别的功能。系统的工作原理步骤图如图2.1所示。3.1 硬件总体设计方案本系统的硬件部分是在二维码的识别环节,即手持式设备,手持式设备是基于STM32F103ZET6单片机控制摄像头和触摸屏,完成信息采集、信息解码识别和信息显示的功能,实现二维码的信息识别。硬件系统总体框图如图3.1所示。
4 软件部分的设计与实现4.1 二维码生成部分二维码的生成是该系统的第一个重要部分,主要有二维码界面的排版设计、信息的编码。合理的将信息装变成能让计算机识别的二进制码,最后能完美的将编码信息按制定的规则排列为一张二维码。4.1.1 二维码界面的排版设计1 二维码界面分区二维码的基本特征是显示一段编码信息的由黑白像素块组成的正方形(也可为其他多边形,目前大多基本都是正方形),其有三个角处为定位区,中间有一个或多个辅助定位区。
本系统根据二维码的上述基本特征,设计如图4.1所示的二维码布局图。 其中包括三个边角定位区、一个辅助定位区外,将其他区域分为字节信息编码存储区、字节数正存储与加密区、字节数负存储与加密区和随机代码生成区四个部分。如下图4.2所示。 界面分区详细量化(1)像素点大小:定义二维码的一个黑白像素点的大小尺寸为10px*10px的正方形(2)三角处定位区:70px*70px的正方形区域,即7个黑白像素点的宽度,其中外围一像素宽度的一圈黑像素带,紧接内层一像素宽度的一圈白像素带,最内层为三像素宽度的正方形且均是黑色像素组成,如下图4.3所示。
图4.3 三角定位区量化图 图4.4 辅助定位区量化图3)辅助定位区:如上图4.1.1.4所示,50px*50px的正方形区域,即5个黑白像素点的宽度,其中外围一像素宽度的一圈黑像素带,紧接内层一像素宽度的一圈白像素带,最内层为一个黑像素点的正方形。在位置排布上,左下角和右上角的定位区的最外层的黑像素变的水平坐标与竖直坐标的延长线的交织区域,为辅助定位区的最中间的黑像素块。
(4)字节数正存储区1、字节数正存储区2:如上图4.2所示,均为160px*70px的矩形字节存储区,因为定义的一个黑白像素块为10px*10px的正方形,则这两处的存储区可显示的黑白像素块数为: (160px/10px)*(70px/10px)=112块则可显示的字节数为: (160px/10px)*(70px/10px)/8=112/8=14字节即二维码存储信息的字节数和编码区域的可操作的有效字节为14个。
(5)字节信息编码存储区:如上图4.2所示,其有效区域为图示的黄色矩形区减去红色的小矩形区的面积大小,即240px*160px的矩形面积减去90px*10px的矩形面积,因为定义的一个黑白像素块为10px*10px的正方形,则这两处的存储区可显示的黑白像素块数为:(240px/10px)*(160px/10px)-(90px/10px)*(10px/10px)=375块则可存储的字节数为: ((240px/10px)*(160px/10px)-(90px/10px)*(10px/10px))/8=375/8=46字节即二维码能存储信息的容量为46个字节。