首页 文章

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

提问于
浏览
6

我正在构建一个应用程序来使用Android手机中的相机读取vin数字条形码 . 我不知道如何从相机捕获的图像中读取条形码 . (即)是否有任何类读取vin数字格式的条形码.I尝试了zxing和其他libs对我没用 . 谢谢

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

3 回答

  • 1

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

  • 2

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

    问题肯定是相机分辨率 . 大而清晰的VINS扫描无故障 . Dingy VINS没有 .

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

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

  • 1

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

    这是关键 -

    • 将zxing源代码集成为库 . 这是一步一步的链接:

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

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

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

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

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

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

    在CameraManager.java中

    • ,编辑您的框架矩形以扩大更大条形码的大小,通过 private static final int MAX_FRAME_WIDTH = screenpixelsinteger; ,我的是1000 .

    public Rect getFramingRect() {

    • ,编辑 int width= screenResolution.x * 1 (或 * nothing ),而不是 * 3 / 4 . 这样可以将框架矩形加宽到与屏幕分辨率一样宽的范围,但不能超过上面指定的 MAX_FRAME_WIDTH (如果MFW较低,它将被夹紧) .

    最后,SCAN!

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

相关问题