HardBirch

在Android上使用ZXing识别条形码/二维码

时间:10-12-27 栏目:安卓入门与提高 作者:张飞不张,文采横飞 评论:151 点击: 63,373 次

       越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.......手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等

      本文使用ZXing 1.6实现条码/二维码识别。ZXing是个很经典的条码/二维码识别的开源类库,long long ago,就有开发者在J2ME上使用ZXing了,不过要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能。

本文代码运行的结果如下,使用91手机助手截图时,无法截取SurfaceView的实时图像:

本文使用了ZXing1.6的core,即把/zxing-1.6/core/下的src复制覆盖工程的src;另外还要使用到/zxing-1.6/android/下的PlanarYUVLuminanceSource.java。

PS:/zxing-1.6/android/ 是BarcodeScanner的源码,本文程序相当于BarcodeScanner的精简版,只保留最基本的识别功能。

本文源码工程的下载地址如下:http://www.pudn.com/downloads349/sourcecode/comm/android/detail1521939.html

源码目录结果如下图,ChecksumException.java下面还有很多源文件,截图尚未列出:

本文例子必须要开摄像头和自动对焦的权限,不然启动时会报异常,所用的权限如下:




main.xml源码如下,main.xml必须要用到FrameLayout才能重叠控件实现“范围框”的效果:




















testCamera.java是主类,负责控制Camera和对图像做解码,源码如下:













































class MyTimerTask extends TimerTask {
@Override
public void run() {
if (dstLeft == 0) {//只赋值一次
dstLeft = centerView.getLeft() * width
/ getWindowManager().getDefaultDisplay().getWidth();
dstTop = centerView.getTop() * height
/ getWindowManager().getDefaultDisplay().getHeight();
dstWidth = (centerView.getRight() - centerView.getLeft())* width
/ getWindowManager().getDefaultDisplay().getWidth();
dstHeight = (centerView.getBottom() - centerView.getTop())* height
/ getWindowManager().getDefaultDisplay().getHeight();
}
sfhCamera.AutoFocusAndPreviewCallback();
}
}
/**
* 自动对焦后输出图片
*/
private Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera arg1) {
//取得指定范围的帧的数据
PlanarYUVLuminanceSource source = new PlanarYUVLuminanceSource(
data, width, height, dstLeft, dstTop, dstWidth, dstHeight);
//取得灰度图
Bitmap mBitmap = source.renderCroppedGreyscaleBitmap();
//显示灰度图
imgView.setImageBitmap(mBitmap);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
MultiFormatReader reader = new MultiFormatReader();
try {
Result result = reader.decode(bitmap);
String strResult = "BarcodeFormat:"
+ result.getBarcodeFormat().toString() + " text:"
+ result.getText();
txtScanResult.setText(strResult);
} catch (Exception e) {
txtScanResult.setText("Scanning");
}
}
};
}

SFHCamera.java是Camera控制类,源码如下:











public SFHCamera(SurfaceHolder holder,int w,int h,Camera.PreviewCallback previewCallback) {
this.holder = holder;
this.holder.addCallback(this);
this.holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
width=w;
height=h;
this.previewCallback=previewCallback;
}

@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(width, height);//设置尺寸
parameters.setPictureFormat(PixelFormat.JPEG);
mCamera.setParameters(parameters);
mCamera.startPreview();//开始预览
Log.e("Camera","surfaceChanged");
}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
mCamera = Camera.open();//启动服务
try {
mCamera.setPreviewDisplay(holder);//设置预览
Log.e("Camera","surfaceCreated");
} catch (IOException e) {
mCamera.release();//释放
mCamera = null;
}

}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
mCamera.setPreviewCallback(null);
mCamera.stopPreview();//停止预览
mCamera = null;
Log.e("Camera","surfaceDestroyed");
}
/**
* 自动对焦并回调Camera.PreviewCallback
*/
public void AutoFocusAndPreviewCallback()
{
if(mCamera!=null)
mCamera.autoFocus(mAutoFocusCallBack);
}

/**
* 自动对焦
*/
private Camera.AutoFocusCallback mAutoFocusCallBack = new Camera.AutoFocusCallback() {

@Override
public void onAutoFocus(boolean success, Camera camera) {
if (success) { //对焦成功,回调Camera.PreviewCallback
mCamera.setOneShotPreviewCallback(previewCallback);
}
}
};

}

其中testCamera.java的Camera.PreviewCallback previewCallback 是整个程序的逻辑核心,作为回调函数给SFHCamera.java的内部Camera类调用。

 

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: 在Android上使用ZXing识别条形码/二维码

在Android上使用ZXing识别条形码/二维码:目前有151 条留言

  1. [e01][e03][e04][e10]

    2010-12-28 09:04 [回复]
  2. 0楼
    kf156:

    [e01]虫哥真给力,二维码我一直挺看好的

    2010-12-28 09:06 [回复]
  3. gv
    很不错啊

    2010-12-28 09:07 [回复]
  4. 0楼
    xuyan87101:

    呵呵……石头来也[e03]

    2010-12-28 09:10 [回复]
  5. 0楼
    hmc1985:

    [e01]人才呀!

    2010-12-28 09:23 [回复]
  6. 0楼
    s278777851:

    [e01]

    2010-12-28 09:47 [回复]
  7. [e01]

    2010-12-28 13:12 [回复]
  8. 无话可说 只能[e01]

    2010-12-28 13:13 [回复]
  9. 0楼
    hjhswat:

    [e01]

    2010-12-28 19:06 [回复]
  10. 0楼
    ria2008:

    好人啊![e01]

    2010-12-29 08:53 [回复]
  11. 0楼
    seai:

    不错,关注

    2010-12-29 09:55 [回复]
  12. 0楼
    BaddyBoy:

    二维码现在在日本用的真的很多,很多商品上都有,一般都寸的都是商品相关的网站的URL

    2010-12-29 10:26 [回复]
  13. 0楼
    yu444:

    [e01]

    2010-12-29 13:50 [回复]
  14. 0楼
    Jeanth:

    [e01]

    2010-12-29 16:00 [回复]
  15. 0楼
    httk526:

    [e01]

    2010-12-30 08:48 [回复]
  16. 0楼
    pjp1029:

    [e01]

    2010-12-30 09:12 [回复]
  17. 0楼
    xingyueqi:

    我感觉ZXING的代码那么乱,怎么看不懂呢,还不如自己开发快。

    2010-12-30 12:39 [回复]
  18. [e01]

    2010-12-30 16:14 [回复]
  19. 0楼
    dcping2008:

    如果能上传就好了,版主

    2010-12-30 17:49 [回复]
  20. 0楼
    dcping2008:

    最关键的处理二维码的类没有上传MultiFormatReader

    2010-12-30 17:49 [回复]
  21. [e01]学习了.

    2010-12-31 11:29 [回复]
  22. [e04]

    2011-01-01 15:14 [回复]
  23. 0楼
    lindj_java:

    [e01]

    2011-01-02 00:27 [回复]
  24. 需要学习![e01]

    2011-01-02 12:52 [回复]
  25. 0楼
    fly_binbin:

    不错,学习学习!

    2011-01-04 11:37 [回复]
  26. 我想问的是这东西在模拟器上面调试出错,可能是因为没有相机的原因,有没有什么解决的办法吗?

    2011-01-24 11:59 [回复]
  27. 0楼
    hellogv:

    回复 cucuchen520:
    必须真机才能跑本文的代码

    2011-01-25 20:36 [回复]
  28. 0楼
    cucuchen:

    回复 dcping2008:
    兄弟你可要看清楚了,MultiFormatReader 这个是zxing核心类,在zxing core包里面,不需要上传的吧!hellogv已经讲得很清楚了.

    2011-01-26 17:08 [回复]
  29. 0楼
    feng88724:

    怎么不把生成一起做了~~~~

    2011-02-10 14:51 [回复]
  30. 0楼
    ruozui:

    今天调试了楼主的代码.可以运行了,但是存在2个问题要请教:

    1. 摄像头打开的时候速度很慢.

    进入程序,屏幕出现浅红色的长方形框框,然后要等很久很久才能进入拍照的预览…大约5分钟以上.

    2. 很难对焦

    对焦也是对了好久,不知道什么时候突然对上了.

    我的机器上也装了zxing的原版程序,没有出现上面的现象.请楼主帮忙看一下,是我哪里没有设置好吗?

    手机是G2. 感谢.

    2011-02-20 16:20 [回复]
  31. 0楼
    zxmzaofan:

    我用里程碑跑不起来,一真机运行就出现进程意外停止。。。这个是怎么回事哦。。

    2011-02-23 11:04 [回复]
  32. 0楼
    zxmzaofan:

    回复 ruozui:我用里程碑都跑不起来,一真机运行就出现进程意外停止。。。

    2011-02-23 11:04 [回复]
  33. 有人知道怎样将zxing的扫码屏设为竖屏吗???[e07]

    2011-03-01 10:16 [回复]
  34. 我的真机也是进程意外停止 很想知道原因

    2011-03-27 18:44 [回复]
  35. 回复 zxmzaofan:我的真机也是进程意外停止 很想知道原因

    2011-03-27 18:44 [回复]
  36. 0楼
    lbph1:

    回复 LVTAOTAO21WH:me too

    2011-03-28 10:27 [回复]
  37. 回复 lbph1:我用的HTC真机,版本2.1,也是意外停止[e06].

    2011-03-28 12:28 [回复]
  38. 我想问一下,从package com.testCamera; 看出,是不是将楼主所说的testCamera.java、SFHCamera.java2个文件放到testCamera文件夹下?而testCamera文件夹与google文件夹均在com文件夹目录下?

    2011-03-28 12:28 [回复]
  39. 另外,不知道需不需要修改AndroidManifest.xml,会不会是楼主忘了说AndroidManifest.xml的内容呢?[e07]

    2011-03-28 12:30 [回复]
  40. 0楼
    lbph1:

    回复 gaoyueguilty:我来研究下,出结果了告诉大家哈!

    2011-03-28 15:01 [回复]
  41. 回复 gaoyueguilty:这个文件好像不需要改吧,按照楼主的意思好像就是一个activity,是不?

    2011-03-28 19:01 [回复]
  42. 回复 ruozui:我很想知道,你是按照楼主的方法没有改任何文件么?

    2011-03-28 19:02 [回复]
  43. 回复 ruozui:利用Handler

    2011-03-30 11:36 [回复]
  44. 0楼
    hellogv:

    回复 LVTAOTAO21WH:
    要权限

    2011-03-30 14:01 [回复]
  45. 回复 hellogv:楼主。。什么权限啊。。。可不可以直接把您源码传上来呢[e10][e10][e10]

    2011-03-30 21:02 [回复]
  46. 0楼
    hellogv:

    回复 gaoyueguilty:
    android.permission.CAMERA
    android.hardware.camera
    android.hardware.camera.autofocus

    2011-03-30 22:48 [回复]
  47. 收了![e01]

    2011-03-30 23:35 [回复]
  48. [e01]

    2011-04-13 13:52 [回复]
  49. 0楼
    zxmzaofan:

    回复 qingfeng1985:android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden"

    2011-04-22 10:12 [回复]
  50. 0楼
    zxmzaofan:

    回复 LVTAOTAO21WH:
    需要开启调用摄像头权限

    2011-04-22 10:13 [回复]
  51. 回复 zxmzaofan:Thank you very much!!![e03]

    2011-05-04 19:15 [回复]
  52. 0楼
    snail82:

    牛人啊,佩服之至

    2011-05-07 11:23 [回复]
  53. 0楼
    OExpress:

    不错,呵呵

    2011-05-22 16:01 [回复]
  54. 0楼
    hdjsoft:

    不错啊,为什么没有声音和中间的红线啊

    2011-05-22 18:39 [回复]
  55. 能否发个源码到我的邮箱:casel.chen@gmail.com 谢谢!

    2011-05-22 19:56 [回复]
  56. 0楼
    hellogv:

    回复 hdjsoft:
    红线那个是ZXing自带的Demo,本文的例子是精简版

    2011-05-22 20:14 [回复]
  57. 0楼
    hellogv:

    回复 cricket1981:
    哥,代码都有了,自己建个工程自己复制黏贴吧

    2011-05-22 20:22 [回复]
  58. 我刚刚用到了你写的android条形码解析并自动对焦的代码,但是解析报notFound异常,请楼主和大家帮帮忙啊 可以的话请留下您的电话

    2011-05-23 08:58 [回复]
  59. 0楼
    hdjsoft:

    楼主,如果把您的精简版加上声音和红线,另外每次扫描识别到数据后给文本框。这一块我们有个项目要用到,费用2000,帮我们实现这块功能,谢谢!我的email: 17653128@qq.com

    2011-05-23 12:48 [回复]
  60. 0楼
    hellogv:

    回复 hdjsoft:
    自己加,可以省2K,多好呢

    2011-05-23 13:17 [回复]
  61. 0楼
    hdjsoft:

    谢谢,我们这里没有几个会的啊,楼主帮帮忙!!

    2011-05-23 13:25 [回复]
  62. 0楼
    android168:

    官方apk版本可以正常使用,现在想熟悉一下源码去,http://code.google.com/p/zxing/ 。[e04]

    2011-06-12 07:53 [回复]
  63. 就是跑不起来!!

    2011-07-05 15:27 [回复]
  64. 楼主 我真的怀疑你自己测试成功了没有啊!!你是不是也看了
    http://www.codeweblog.com/android-using-zxing-identify-the-barcode-qr-code/这个博客的

    2011-07-05 17:13 [回复]
  65. 0楼
    hellogv:

    [reply]wanglovehuang[/reply]
    我肯定是真机测试通过,才写出来,而且图片也是用91截图的

    2011-07-06 10:03 [回复]
  66. 0楼
    jackinz:

    我用HTC真机跑成了。开始也意外退出过好多回,我觉得是eclipse的编译器还残留有上回错误的片断,重启几回,在模拟器上能看到黑白方块相间的预览画面,就OK了

    2011-07-08 16:46 [回复]
  67. mTimer.schedule(mTimerTask, 0, 80); 你的间隔有点短,我的机器不行,延长时间就可以了,我改成了8000

    2011-07-13 19:21 [回复]
  68. [reply]hdjsoft[/reply]
    这个 呵呵 你还需要么,我可以做

    2011-07-24 21:24 [回复]
  69. 0楼
    heguikun:

    也可以扫描商品那些条形码吗? 我扫描很久都没有结果呢

    2011-07-25 17:22 [回复]
  70. 0楼
    heguikun:

    在电脑上运行不了是吗?在手机就可以打开。楼主有没有完整一点的代码给我。307839227@qq.com

    2011-07-25 17:23 [回复]
  71. 0楼
    heguikun:

    那个高和宽 可以条吗?高原来是480.我调整为500时扫描不出来了

    2011-07-25 17:28 [回复]
  72. 0楼
    hellogv:

    [reply]heguikun[/reply]
    http://www.pudn.com/downloads349/sourcecode/comm/android/detail1521939.html
    再完整的话就要看zxing官方demo了

    2011-07-25 19:06 [回复]
  73. 0楼
    hellogv:

    [reply]heguikun[/reply]
    按照比例缩放试试,拉伸的话会影响扫描结果

    2011-07-26 09:19 [回复]
  74. 0楼
    jkwq1124:

    请问在真机上运行不能横屏应该再怎么修改?

    2011-08-13 19:17 [回复]
  75. 0楼
    hellogv:

    [reply]jkwq1124[/reply]
    网络上有很多教如何改为横屏的例子

    2011-08-14 09:46 [回复]
  76. 0楼
    abren32:

    Conversion to Dalvik format failed with error 1
    楼主 我出现这样的错误

    2011-08-22 21:15 [回复]
  77. 0楼
    sdau_kiven:

    你好,你能给我一份BarcodeScanner的源码吗?谢谢了。。。306334678@qq.com

    2011-08-24 11:39 [回复]
  78. 0楼
    hellogv:

    [reply]sdau_kiven[/reply]
    这个网上有。。。开源的

    2011-08-24 18:36 [回复]
  79. 0楼
    XuyfLy:

    路过,试了一下,OK。
    谢谢!

    2011-08-25 14:58 [回复]
  80. 0楼
    lee2565:

    1.程序可以运行
    2.翻转屏幕的时候程序会终止
    3.楼主第一版没说设置权限,网上又有好多转载的,折磨了兄弟很久哇。。。。
    自己慢慢加红线克。。。。

    2011-09-05 17:00 [回复]
  81. 0楼
    hellogv:

    [reply]lee2565[/reply]
    嗯,应该说明加权限的。。。

    2011-09-05 23:03 [回复]
  82. 0楼
    wowwolfwow:

    谢谢楼主,运行起来了!
    目前有两点:
    1、权限要加到<Application>之外;
    2、目前还不清楚什么原因导致的,
    a、TimeTask中sfhCamera.AutoFocusAndPreviewCallback();
    b、onPreviewFrame
    均会抛出异常,估计之前那些朋友的进程终止多半因为这个;

    3、SFHCamera中的onAutoFocus中mCamera也会null,导致异常。

    继续学习,再次感谢!

    2011-09-08 11:03 [回复]
  83. 0楼
    xuyao28:

    UP一个。。。毕设估计要做这个。。。

    2011-09-13 13:57 [回复]
  84. 0楼
    guoke16888:

    我在电脑上加了个摄像头,但是用模拟器却总也访问不了。模拟器不能访问PC上的摄像头吗?这样的话,那调试程序多麻烦啊。还有应用在真机上跑起来了,但是卸载后重装后又进程意外终止。

    2011-10-02 07:34 [回复]
  85. 0楼
    ya_xiaohu:

    楼主你好:我试过你的例子能运行起来,但是对焦很不准而且它既是获取到信息也不能停止,我现在再做一个项目里面有涉及到这个东西的内容,请楼主给予引导或思路,谢了,QQ1047615091或能留下你的联系方式吗?

    2011-10-21 10:38 [回复]
  86. 0楼
    wnh1226:

    http://www.pudn.com/downloads349/sourcecode/comm/android/detail1521939.html 你给的这个我没有积分啊!下载不了,能不能发一个源码到我的邮箱wnh1226@sina.com啊!谢谢了!

    2011-10-21 20:32 [回复]
  87. PUDN 没权限下载 楼主把能发我邮箱不 很急 谢谢

    2011-10-28 12:25 [回复]
  88. 0楼
    rayln:

    楼主, 你有没碰过这种问题啊? 就是灰度图是90度的,不是垂直的…你知道如何把灰度图垂直么

    2011-10-29 10:20 [回复]
  89. 0楼
    hellogv:

    [reply]rayln[/reply]
    android本身就有图像处理的类库了

    2011-10-30 10:50 [回复]
  90. 亲爱的楼主,你的源码我下不了啊~~~能不能来个。。。liangkangchr@sina.com

    2011-11-05 13:37 [回复]
  91. 初步问题解决了。。。

    2011-11-06 23:11 [回复]
  92. 能不能发一份源码给我,邮箱:l_huiwu@126.com
    先谢谢了。

    2011-11-29 15:06 [回复]
  93. 0楼
    pp_liu213:

    如何直接对一张图片进行解码啊,跪了。。。。

    2011-11-30 15:16 [回复]
  94. 网上很多很好的啊。

    2011-12-01 11:52 [回复]
  95. suport!

    2011-12-01 11:52 [回复]
  96. 0楼
    t313136298:

    楼主,能不能把你的源码发一份给我啊,那个源码网上我下载不了··,谢谢了 zwt101927@qq.com

    2011-12-01 16:39 [回复]
  97. 楼主。下载不了,能不能发一个源码到我的邮箱beijingdanei@163.com啊!谢谢了!

    2011-12-07 23:36 [回复]
  98. 0楼
    super005:

    [reply]wanglovehuang[/reply]
    朋友,请注意,你发那网站也是转载博主的。

    2011-12-20 00:05 [回复]
  99. 0楼
    hellogv:

    [reply]huhaohejimao[/reply]
    注册一个pudn账号吧,里面有很多很实用的代码

    2011-12-20 09:23 [回复]
  100. 0楼
    coohcooh:

    我在真机上怎么条形码要靠左上角才能识别到,而且左上角的图像也不正常,3星P1000的

    2011-12-29 10:50 [回复]
  101. 0楼
    promove:

    跑不起来啊

    2012-01-01 15:39 [回复]
  102. 0楼
    maque0312:

    测试客户端时,在自动对焦时,一直提示autoFocus failed错误,机型是G8,请问是什么原因导致的自动对焦错误。PS:权限已经添加。

    2012-02-05 18:57 [回复]
  103. 0楼
    linzeping:

    不行啊,摄像头会变形

    2012-02-07 17:32 [回复]
  104. 能否发个源码到我的邮箱:u9851047@nkfust.edu.tw 谢谢!楼主真给力

    2012-02-12 15:10 [回复]
  105. 0楼
    cold702:

    如果把public void onPreviewFrame(byte[] data, Camera arg1)里面的 data直接保存成图片格式,而不是
    Bitmap mBitmap = source.renderCroppedGreyscaleBitmap()
    转化成灰度bitmap 怎么实现??急!!

    2012-02-17 10:49 [回复]
  106. 0楼
    mmxihuan2:

    你好,能不能给发一下编译好的jar包啊,谢谢! 邮箱282086648@qq.com

    2012-02-27 15:10 [回复]
  107. 谢谢楼主!不过我下下来的源码结构和你图中的差别好大呀,能不能发一份你的源码,给我?非常非常感谢呀!!!285620308@qq.com。小女子这里先谢谢啦!!

    2012-03-09 17:06 [回复]
  108. 0楼
    hellogv:

    [reply]meiyulaishi428[/reply]
    下载地址还有效啊

    2012-03-09 19:35 [回复]
  109. 0楼
    summerpxy:

    楼主厉害,用真机试了一下可以跑的起来!

    2012-03-17 23:41 [回复]
  110. 0楼
    springxy:

    楼主,扫描二维码时,得出的字符串中有乱码应该如何解决!

    2012-03-22 14:56 [回复]
  111. 0楼
    raybohust:

    楼主 你好~
    我pudn上没有积分呀,希望你能发一份源码给我,ray_libo@163.com 多谢了啦~

    2012-04-04 17:09 [回复]
  112. 0楼
    raybohust:

    楼主你好:
    我刚开始学习android编程,我想问下manifest.xml里面应该怎么写呢?能不能把源码发一份给我呀?多谢了~415056060@qq.com

    2012-04-05 15:23 [回复]
  113. 0楼
    hellogv:

    [reply]raybohust[/reply]
    加入权限就可以了

    2012-04-06 15:46 [回复]
  114. 楼主,请教个问题。怎样将生成的二维码保存成图片格式存放在本地?

    2012-04-06 19:56 [回复]
  115. 0楼
    raybohust:

    还不是很明白呀~那manifest里面就注册一个ACTIVITY?本人android菜鸟,望楼主把整个工程介绍一下[reply]hellogv[/reply]

    2012-04-06 22:49 [回复]
  116. 0楼
    hellogv:

    [reply]mynameis2010[/reply]
    No.1,获取Bitmap
    No.2,把Bitmap保存到SD卡

    2012-04-07 23:30 [回复]
  117. 0楼
    l634277983:

    [reply]xuyao28[/reply]
    兄弟~~我的毕设就是做这个啊

    2012-04-12 11:54 [回复]
  118. 能给下源码不?注册了暂时还下不了,急着用啊

    2012-04-17 15:49 [回复]
  119. 邮箱153860233@qq.com

    2012-04-17 15:51 [回复]
  120. 我按照你的部署了下,用真机测试,为什么扫描的的条形码图片是逆时针旋转了90的呢,如何解决哦

    2012-05-02 15:26 [回复]
  121. [reply]lgm277531070[/reply]
    原来可以通过设置横屏,横屏设置好了,但是位什么对焦失败呢。

    2012-05-02 16:32 [回复]
  122. 0楼
    B065011029:

    [reply]ya_xiaohu[/reply]那个问题你解决了吗?我现在用楼主写的代码跑的,获取不到信息。。求指导!!

    2012-05-14 09:52 [回复]
  123. 0楼
    sache:

    PlanarYUVLuminanceSource这个类,我用的有问题,我现在用的RGBLuminanceSource。有人介绍一下两者区别吗?另外,data转换成Bitmap后,要压缩一下才能正常识别,否则报未发现的错误,Bitmap.createScaledBitmap(bm, width, height, true); 不知道有没有碰到

    2012-05-23 15:10 [回复]
  124. 0楼
    zyp009:

    [reply]LVTAOTAO21WH[/reply]
    把@Override
    public void surfaceDestroyed(SurfaceHolder arg0) {
    mCamera.setPreviewCallback(null); //setPreviewCallback()安装一个回调用的每个预览框除了在屏幕上显示它们
    mCamera.stopPreview();//停止预览
    mCamera = null;
    Log.e("Camera","surfaceDestroyed");
    }
    改为:
    @Override
    public void surfaceDestroyed(SurfaceHolder arg0) {
    mCamera.setPreviewCallback(null); //setPreviewCallback()安装一个回调用的每个预览框除了在屏幕上显示它们
    mCamera.stopPreview();//停止预览
    mCamera.release();//释放
    mCamera = null;
    Log.e("Camera","surfaceDestroyed");
    }

    2012-06-09 21:20 [回复]
  125. 0楼
    zyp009:

    楼主,你在图片识别时,是用电脑的条形码图片?还是实物的条形码图片?

    我用电脑的条形码图片可以识别,实物的条形码就很难识别,只有实物条形码图片比较大张时有可能识别出来。

    2012-06-09 21:25 [回复]
  126. 0楼
    hellogv:

    [reply]zyp009[/reply]
    用随便一个商品的条形码

    2012-06-11 12:53 [回复]
  127. 0楼
    zyp009:

    [reply]hellogv[/reply]
    蛤,我还是老样子,下载了你的工程,还是这种情况:电脑的图片可以识别,实物的不行。
    问楼主是否 识别图片与手机的相机像素有关?怎样可以设置相机的像素最大???我苦于没有好的手机来测试。本人用C8650android手机。

    2012-06-14 20:57 [回复]
  128. 0楼
    hellogv:

    [reply]zyp009[/reply]
    要用好ZXing,必须要支持自动对焦

    2012-06-17 18:55 [回复]
  129. 0楼
    zyp009:

    [reply]hellogv[/reply]
    非常感谢。。。我借了台有支持对焦的手机的,可以实现功能

    2012-06-20 12:30 [回复]
  130. 0楼
    zlx105:

    怎么代码运行后,左上角一片模糊

    2012-06-26 16:37 [回复]
  131. 0楼
    maxiao001:

    [reply]raybohust[/reply]当然不是一个,有几个就加几个。。。

    2012-07-14 23:55 [回复]
  132. 0楼
    hellogv:

    [reply]zlx105[/reply]
    真机?这个例子用模拟器无效

    2012-07-22 11:33 [回复]
  133. 0楼
    kachebb:

    您好,在土豆网上看到一段视频,标题是mini2440实现Iphone效果和java游戏…所以特地来找您,不知道在哪留言合适,就留在这了..
    我是一个本科生,在实验室做一个小项目,需要在友善之臂公司的mini2440上的linux系统搭建java环境,先后使用了java SE embedded 和 java ME embedded ,均报错illegal instruction,可以告诉我您当时是如何搭建java环境的吗…这个问题已经困扰我很多天了

    2012-07-24 16:27 [回复]
  134. 0楼
    zlx105:

    是真机上,好像是画的像素错位造成的[reply]hellogv[/reply]

    2012-07-24 17:12 [回复]
  135. 真机上的 灰度图一直不能清晰的呈现出来,扫描也没有结果。。
    我想问下,识别是不是跟手机分辨率有关系?
    怎么判断手机是否支持自动对焦?
    很是郁闷。、、

    2012-07-26 16:08 [回复]
  136. 0楼
    hellogv:

    [reply]yeliping2011[/reply]
    用手机本身的拍照程序去拍照,看看有没有对焦就知道了

    2012-07-27 08:02 [回复]
  137. 恩,屏幕旋转了45度的样子,怎么搞?我使用CameraInfo 判断旋转,但是CameraInfo引用没有成功,lz碰到过这样的问题么? [reply]hellogv[/reply]

    2012-07-27 09:49 [回复]
  138. 0楼
    wangdong20:

    我以后也想研究这个,跪求楼主源码 476971929@qq.com

    2012-08-07 22:04 [回复]
  139. Camera.Parameters 这设置里会出错,除非你的手机正好匹配

    2012-08-15 16:25 [回复]
  140. 0楼
    hellogv:

    [reply]wangdong20[/reply]
    请耐心看完本文,文中已经贴出下载的地址

    2012-08-25 01:30 [回复]
  141. 0楼
    payton_liu:

    你这个是把 zxing 的核心代码都 copy 过来了,能不能直接调用他们的程序啊?不要那么多代码??谢谢

    2012-08-27 10:27 [回复]
  142. [reply]kachebb[/reply]
    benkesheng,

    2012-09-04 15:59 [回复]
  143. 0楼
    nilintian:

    楼主您好,本人是小白,在使用楼主提供的程序源文件导入eclipse后,生成的APK文件与楼主生成的APK文件大小不一样,除此之外新生成的APK文件在真机上实验时会在按下“扫描”自动对焦后出错。。。真心求指导~麻烦楼主帮忙解决一下哈~十分感谢~

    2012-09-06 10:14 [回复]
  144. 0楼
    nilintian:

    [reply]nilintian[/reply]
    点击扫描后,扫描的的条形码图片会逆时针旋转了90,然后就报错了

    2012-09-06 10:16 [回复]
  145. 0楼
    Libaier_GC:

    testCamera.java中第79行是否识别灰度图更好一些呢?

    2012-09-10 10:42 [回复]
  146. 0楼
    chindroid:

    请教:程序中如何获取经过处理二值化后的二维码相片???样例中显示出来的图片只是经过灰度化后的拍摄图片…

    2012-09-21 15:55 [回复]
  147. 神贴,但是楼主,我真机装上你的apk,功能确实是完美实现,但是一按后退键退出到手机桌面就会弹出这个程序的崩溃信息呢,楼主有遇到么?

    2012-10-03 19:15 [回复]
  148. 0楼
    hellogv:

    [reply]qq471746796[/reply]
    看看异常提示在哪

    2012-10-07 18:38 [回复]
  149. 0楼
    zzazbzcc:

    楼主你做的这个识别率还能优化么?我查查那种识别效率就相当爽啊啊。。

    2012-10-08 16:01 [回复]
  150. 0楼
    zqwblog:

    老兄,这扫描现在只能扫出条形码,二维码没反应,并且条形码扫出的概率是手举着手机举得发抖。有木有好的解决方案哈?

    2012-10-09 14:27 [回复]
  151. 0楼
    lnw:

    参看了你的程序,把自动对焦时解析二维码改为点击按钮来解析,现在解析时不成功啊,报com.google.zxing.NotFoundException,不知什么原因啊,求解。

    2012-10-11 16:10 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐