qr码和二维码区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qr码和二维码区别相关的知识,希望对你有一定的参考价值。
参考技术A QR 码是二维条码的一种,QR来自英文 “QuickResponse” 的缩写,即快速反应的意思,源自发明者希望 QR 码可让其内容快速被解码。QR码比普通条码可储存更多资料,亦无需像普通条码般在扫描时需直线对准扫描器。QR二维码比其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势。QR码的三个角上有三个寻象图形,使用CCD识读设备来探测码的位置、大小、倾斜角度、并加以解码,实现360读高速识读。每秒可以识读30个含有100个字符QR码。QR码容量密度大,可以放入1817个汉字、7089个数字、4200个英文字母。QR码用数据压缩方式表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%。QR具有4个等级的纠错功能,即使破损或破损也能够正确识读。QR码抗弯曲的性能强,通过QR码中的每隔一定的间隔配置有校正图形,从码的外形来求得推测校正图形中心点与实际校正图形中心点的误差来修正各个模快的中心距离,即使将QR码贴在弯曲的物品上也能够快速识读。QR码可以分割成16个QR码,可以一次性识读数个分割码,适应于印刷面积有限及细长空间印刷的需要。此外微型QR码可以在1厘米的空间内放入35个数字或9个汉字或21个英文字母,适合对小型电路板对ID号码进行采集的需要。Atitit zxing二维码qr码识别解析
Atitit zxing二维码qr码识别解析
1.3. atitit.二维码生成总结java zxing 2
1.1. qr码识别解析 by zxing
/AtiPlatf_ee/src/com/attilax/qrcode/qrcodex.java
public static String decode(String imagePath) {
String contents = null;
MultiFormatReader formatReader = new MultiFormatReader();
BufferedImage image;
try {
image = ImageIO.read(new File(imagePath));
// 将图像数据转换为1 bit data
LuminanceSource source = new BufferedImageLuminanceSource(image);
Binarizer binarizer = new HybridBinarizer(source);
// BinaryBitmap是ZXing用来表示1 bit data位图的类,Reader对象将对它进行解析
BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
Map hints = new HashMap();
hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
// 对图像进行解码
Result result = formatReader.decode(binaryBitmap, hints);
contents = result.toString();
System.out.println("barcode encoding format :\\t " + result.getBarcodeFormat());
} catch (IOException e) {
} catch (NotFoundException e) {
e.printStackTrace();
}
return contents;
1.2. 解码lib:qrcode.jar
1.1.解码
编码lib:Qrcode_swetake.jar (官网介绍-- http://www.swetake.com/qr/index-e.html)
解码lib:qrcode.jar (官网介绍-- http://sourceforge.jp/projects/qrcode/)
qrcode.jar\\jp\\sourceforge\\qrcode - 解包大小为 77.6 KB
1.2.首先,我们先说一下二维码一共有40个尺寸。官方叫版本Version。
Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
QRCodeDecoderHandler handler = new QRCodeDecoderHandler();
String imgPath = "c:\\\\3bf33a87e950352a5936aa0a5543fbf2b2118b59.jpg";
String decoderContent = handler.decoderQRCode(imgPath,"gbk");
System.out.println("解析结果如下:");
System.out.println(decoderContent);
System.out.println("========decoder success !!!");
}
1.3. atitit.二维码生成总结java zxing
#-----zxing类库..
but zxing3.0 的类库core-3.0.jar 需要jdk7
只好zing2.2.jar ..jdk6走ok兰..
#----com.attilax.qrcode.qrcodex.javar
public static void gene(final String content, final String path,
final int width, final int height) {
new tryX<Object>() {
@Override
public Object item(Object t) throws Exception {
// attilax 老哇的爪子 下午5:23:26 2014年5月11日
MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
Map hints = new HashMap();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, width, height,hints);
File file1 = new File(path );
MatrixToImageWriter.writeToFile(bitMatrix, "jpg", file1);
return null;
}
}.$("");
}
Ck参考资料
}
Java利用Zxing生成二维码 - 帅星星 - 博客园.html
atitit.二维码生成总结java zxing - attilax的专栏 - 博客频道 - CSDN.NET.html
Atitit java 二维码识别 图片识别_attilax_新浪博客.html
Atitit.二维码功能的设计实践 attilax 总结 - attilaxAti - 博客园.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
,Uke部落首席大酋长,
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
奶牛科技cto ,uke 首席cto
uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 uke终身教育学校副校长
Uke 数据库与存储标准化协会副会长 uke出版社编辑总编
Uke医院方面的创始人
转载请注明来源:attilax的专栏 ?http://www.cnblogs.com/attilax/
--Atiend
以上是关于qr码和二维码区别的主要内容,如果未能解决你的问题,请参考以下文章