Atitit zxing二维码qr码识别解析

1.1. qr码识别解析 by zxing1

1.2. 解码lib:qrcode.jar  2

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:[email protected]

头衔: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

时间: 2024-10-09 22:37:11

Atitit zxing二维码qr码识别解析的相关文章

Atitit 常用二维码对比(QR、PDF417、DM、汉信码 Aztec code maxicode

Atitit 常用二维码对比(QR.PDF417.DM.汉信码 Aztec code maxicode DM码则更"小",可在仅仅25mm2的面积上编码30个数字.但也就是因为太小了,它的信息容量有限,DM无法表现汉字等其他形式,而QR码能用数据压缩方式来表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%.相较而言,DM码信息容量小,应用简单.而QR在汉字处理上更有优势. Data Matrix 在纠错能力上,QR码具有四个不同等级的纠错功能,即使破损即

Android项目实战(二十八):Zxing二维码实现及优化

原文:Android项目实战(二十八):Zxing二维码实现及优化 前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的jar包,使用简化版的即可,下文可见. 这篇文章讲述:1.如果快速在项目中集成zxing,实现扫描和生成二维码功能 2.根据项目需求去修改源码实现我们的要求并进行优化 一.快速集成zxing二维码 1.下载库文件 : http://do

Android项目实战(四十四):Zxing二维码切换横屏扫描

原文:Android项目实战(四十四):Zxing二维码切换横屏扫描 Demo链接 默认是竖屏扫描,但是当我们在清单文件中配置横屏显示的时候: <activity android:name=".CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" /> 这时候扫描

Atitit java 二维码识别 图片识别

1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数据编码31.6. 错误修正容量L水平7%的字码可被修正M水平15%的字码可被修正Q水平25%的字码可被修正H水平30%的字码可被修正31.7. QR是怎么对数据码加上纠错码的?31.8. 画二维码图41.9. 简要的编码过程:数据分析:确定编码的字符类型,按相应的字符集转换成符号字符: 选择纠错等级,71.10. qr长度容量7 1.1.解码编

Android之zxing二维码生成与识别

二维码: 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的: 在代码编制上巧妙的利用构成计算机内部逻辑基础的0和1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理: 二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息: 二维码相对于条形码的优势就是省空间:   zxing简介: zxing是一个开放源码的,用java实现的多种格式的1D/2D条码图像处

使用zxing二维码识别

1.多二维码识别 (同一张图片中多二维码识别) 直接上代码舒服: 1 /** 2 * Parse multiple qr codes(解析多个二维码) 3 * 4 * @param bufferedImage image 5 * @return QRCode analysis results 6 */ 7 @Override 8 public Result[] analysisQRCodeOfMore(BufferedImage bufferedImage) { 9 QRCodeMultiRea

Android ZXing 二维码、条形码扫描介绍

本帖最后由 Shims 于 2013-11-9 12:39 编辑 最近公司的Android项目需要用到摄像头做条码或二维码的扫描,Google一下,发现一个开源的 ZXing项目.它提供二维码和条形码的扫描.扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码. 1.什么是二维码和条形码?                          二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代

教你移植Zxing二维码,兼容Android6.0

几天的移植历程,以下是不断完善的过程 好多图片啊 解压出来文件目录如下,其中core为zxing的解码库,可以单独导入eclipse生成jar:android文件夹是整个安卓的核心,打开摄像头之类的都在此进行,android-core内面只有一个java文件,用来配置摄像头. 我并没有把core的文件都生成jar,因为直接放入Android studo也是毫无问题的,我把文件做成了一个库.在库中资源文件的id号不能用(反正不让我编译),直接换成静态int值算了.还有菜单都会报一些错的,不过没关系

c# ZXing 二维码 支持中文

public class QRCode { public static Bitmap QR(string content) { Dictionary<EncodeHintType, object> hints = new Dictionary<EncodeHintType, object>(); hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");//解决中文异常 QRCodeWriter writer = new