二维码生成器其实就是二维码生成软件,二维码生成器的工作原理是将所需的信息输入二维码生成器中,生成相应的二维码,然后进行保存应用。二维码生成器的制作需要一个二维码生成算法,或者一个二维码插件,然后用JAVA ,C#,VB等编程语言编写一个调用软件就可以做成二维码生成器了。1
生成原理二维码其实就是由很多0、1组成的数字矩阵。二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。1同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。 二维条码/二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息。2
这个二维码生成算法就是将组成二维码的0、1数字矩阵进行组合,输入二维码生成器的信息不同,所得到的0、1数字矩阵组合也不相同,因此生成的二维码样式就各种各样。2
推广应用二维码凭借其高密度、容量大、纠错能力强、安全性高等优点,被人们广泛应用于生活工作中。 本系统通过利用手机摄像头进行二维码图像采集和手机处理器进行处理识别,克服了传统设备的价格高、体积大、携带不便等缺点。3
二维码和手机摄像头以及二维码和计算机的配合产生了多种多样的应用,我们可以用二维码在自动贩售机买可乐、缴费、网上购物、付款等等,二维码在我们的生活中应用已经非常广泛。1
类型分类二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”, 用“空”表示二进制“0”,由“点”和“空”的排列组成代码。3
堆叠式/行排式二维码
堆叠式/行排式二维条码(又称堆积式二维条码或层排式二维条码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417等。2
矩阵式二维码
短阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。2矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、 Data Matrix等。3
在几十种二维要码中,常用的码制有:G商通二维码,PDF417二维条码,Datamatrix二维条码,Maxicode二维条码,QR Code,Code 49,Code 16K,Code one等,除了这些常见的二维条码之外,还有Vericode条码、CP条码、Codablock F条码、田字码、 Ultracode条码,Aztec条码。3
QR Codeui也是一种二维码,和传统的一维码(比如商品上的条形码)不同,二维码在横纵两个方向都存储信息,因此信息容量大大提高。2
系统设计二维码生成根据二维码编码的原理以及Zxing库,将用户输入的文本内容通过调用Zxing库中的方法MultiFormatWriter().encode(Stringcontents,BarcodeFormatformat,intwidth,intheight)将输入的字符串文本转换为BitMatrix格式(以bit位存储二维码数据),再通过相关编码原理转换成以Bitmap形式表示的图片,最后显示在手机屏幕上。3若用户需要保存,则通过File()、div.mkdir()和bitmap.compress()等方法对生成的二维码图像进行转换压缩写入,最终在手机中存入按照规则命名的jpg格式的二维码图片。2
二维码识别系统先进行相机初始化并打开相机预览界面,用户将含有二维码的图像置于识别框内,系统间断性地获取一帧图像,然后进行图像预处理,主要有灰度化、中值滤波、二值化、定位旋转等,最后调用解码程序进行信息提取,返回显示在手机上。2
本词条内容贡献者为:
孙锐 - 教授 - 合肥工业大学