安卓是否有java库可以从图像中读取vin号条形码?
我正在构建一个应用程序,使用安卓手机上的摄像头读取vin编号条形码。我不知道如何从照相机拍摄的图像中读取条形码。(即)是否有任何类别可读取vin编号格式的条形码。我试过zxing和其他Lib对我没有用。谢谢
注意:我尝试在DDG中搜索。gg和Stackoverflow,但没有合适的解决方案
你可以在下面搜索框中键入要查询的问题!
我正在构建一个应用程序,使用安卓手机上的摄像头读取vin编号条形码。我不知道如何从照相机拍摄的图像中读取条形码。(即)是否有任何类别可读取vin编号格式的条形码。我试过zxing和其他Lib对我没有用。谢谢
注意:我尝试在DDG中搜索。gg和Stackoverflow,但没有合适的解决方案
# 1 楼答案
我已经成功地使用zxing的源代码解码为有效的VIN字符串,并通过intent将VIN字符串编码回条形码(需要一些帮助)
这是钥匙-
将zxing源代码集成为一个库。以下是逐步链接:
http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/
注意,这里还有一个很好的讨论,从开发人员的角度来看,为什么不应该这样做,但是代码是免费开放使用的,我们需要以一种目前无法通过intent完成的方式对其进行修改。我们走吧
在您的项目中,通过intent给zxing打电话(正如他们建议的那样);指定
intent.putExtra("SCAN_MODE","ONE_D_MODE");
事实上,我已经让它以两种方式工作(有和没有这条线),但如果你看到更好的结果,包括它,这取决于你。我通常得到一个VIN扫描在不到1/4秒的焦点,一旦它在帧
预览分辨率很重要,因为相机预览会将帧发送到解码器以搜索有效的条形码
所以。。。在CameraConfiguration Manager中。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较低,则将夹紧)最后,扫描
我不相信我已经编辑了任何其他变量,但如果我发现我做了,使这项工作,我会更新这个答案
# 2 楼答案
According to this thread on google code,中兴应该支持它。他们说,这个问题可能与相机的分辨率有关。他们提到“auqoniq VIN扫描仪”,这似乎是一款基于zxing的android应用程序
# 3 楼答案
我刚刚将zxing作为一个库集成到我的应用程序中,我让我的应用程序正确地扫描和解码VIN。我甚至更改了遮罩以扩大可用的扫描区域
问题肯定是相机的分辨率。大而清晰的VIN扫描无故障。不干净的葡萄酒不行
我正在使我的VIN字段可用于手动输入,如果它不扫描。请记住运行检查数字方法以确保它是有效的VIN
我在这里找到了一个可以使用的工具:http://introcs.cs.princeton.edu/java/31datatype/VIN.java.html