有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓是否有java库可以从图像中读取vin号条形码?

我正在构建一个应用程序,使用安卓手机上的摄像头读取vin编号条形码。我不知道如何从照相机拍摄的图像中读取条形码。(即)是否有任何类别可读取vin编号格式的条形码。我试过zxing和其他Lib对我没有用。谢谢

注意:我尝试在DDG中搜索。gg和Stackoverflow,但没有合适的解决方案


共 (3) 个答案

  1. # 1 楼答案

    我已经成功地使用zxing的源代码解码为有效的VIN字符串,并通过intent将VIN字符串编码回条形码(需要一些帮助)

    这是钥匙-

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

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

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

    2. 在您的项目中,通过intent给zxing打电话(正如他们建议的那样);指定intent.putExtra("SCAN_MODE","ONE_D_MODE");

      事实上,我已经让它以两种方式工作(有和没有这条线),但如果你看到更好的结果,包括它,这取决于你。我通常得到一个VIN扫描在不到1/4秒的焦点,一旦它在帧

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

      所以。。。在CameraConfiguration Manager中。java,指定一个更大的MAX_PREVIEW_PIXELS(不超过屏幕分辨率)。我使用了“1024*600”——我的设备分辨率。这可能需要一些调整

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

    5. public Rect getFramingRect() {中,将int width编辑为= screenResolution.x * 1(或* nothing),而不是* 3 / 4。这将加宽框架矩形,使其与屏幕分辨率一样宽,但不超过上面指定的MAX_FRAME_WIDTH(如果MFW较低,则将夹紧)

    最后,扫描

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

  2. # 2 楼答案

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

  3. # 3 楼答案

    我刚刚将zxing作为一个库集成到我的应用程序中,我让我的应用程序正确地扫描和解码VIN。我甚至更改了遮罩以扩大可用的扫描区域

    问题肯定是相机的分辨率。大而清晰的VIN扫描无故障。不干净的葡萄酒不行

    我正在使我的VIN字段可用于手动输入,如果它不扫描。请记住运行检查数字方法以确保它是有效的VIN

    我在这里找到了一个可以使用的工具:http://introcs.cs.princeton.edu/java/31datatype/VIN.java.html