是否有任何java库从图像中读取vin编号条形码?

时间:2011-04-04 06:57:33

标签: java android image-processing barcode vin

我正在构建一个应用程序来使用Android手机中的摄像头读取vin编号条形码。我不知道如何从摄像头捕获的图像中读取条形码。(即)是否有任何课程要读取vin编号的条形码format.I试过zxing和其他lib对我没用。谢谢

注意:我尝试在DDG.gg和Stackoverflow中搜索但没有正确的解决方案。

3 个答案:

答案 0 :(得分:2)

According to this thread on google code,zxing应该支持它。他们说,问题可能与相机分辨率有关。他们提到“auqoniq VIN扫描仪”,这似乎是一个基于zxing的Android应用程序。

答案 1 :(得分:1)

我刚刚将zxing整合到我的应用程序中作为库,我得到了我的应用程序来正确扫描和解码VIN。我甚至改变了掩模来扩大可用的扫描区域。

问题绝对是相机分辨率。大而清晰的VINS扫描无故障。 Dingy VINS没有。

如果不扫描,我正在将我的VIN字段用于手动输入。请记住运行校验位方法以确保它是有效的VIN。

我在这里找到了一个:http://introcs.cs.princeton.edu/java/31datatype/VIN.java.html

答案 2 :(得分:1)

我已成功使用zxing的源代码解码为有效的VIN字符串,并通过意图将VIN字符串编码回条形码(稍加帮助)。

这是关键 -

  1. 将您的zxing源代码集成为库。以下是逐步链接:

    http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

    注意,这里也有一个很好的讨论,为什么不应该从开发人员的角度来做这个,但是代码是免费开放使用的,我们需要以目前无法通过意图完成的方式对其进行修改。我们走了。

  2. 在您的项目中,通过意图致电zxing(就像他们推荐的那样);指定intent.putExtra("SCAN_MODE","ONE_D_MODE");

    我实际上已经双向工作(有和没有这条线)但是如果你看到包括它在内的更好的结果,这取决于你。一旦它出现在帧中,我通常会在不到1/4秒的时间内进行扫描。

  3. 预览分辨率非常重要,因为相机预览会将帧发送到解码器以搜索有效的条形码。

    so ...在CameraConfigurationManager.java中,指定一个更大的MAX_PREVIEW_PIXELS(不超过你的屏幕分辨率)。我使用“1024 * 600” - 我的设备分辨率。这可能需要一些调整。

  4. 在CameraManager.java中
  5. ,编辑您的框架矩形以扩大更大条形码的大小,通过private static final int MAX_FRAME_WIDTH = screenpixelsinteger;,我的是1000。

  6. public Rect getFramingRect() {
  7. ,将int width修改为= screenResolution.x * 1(或* nothing),而不是* 3 / 4。这样可以将框架矩形加宽到与屏幕分辨率一样宽的范围,但不会超过上面指定的MAX_FRAME_WIDTH(如果MFW较低,它将被钳制)。

  8. 最后,SCAN!

    我不相信我已经编辑过任何其他变量,但如果我发现我做了这项工作,我会更新这个答案。