2012-01-03 67 views
2

我为我的硕士论文编写了Android 3.1版摩托罗拉Xoom平板电脑的应用程序,它可以使用相机实时扫描多个QR码,并在显示屏上显示额外的信息,以识别QR码。相机预览画面质量更好

这个识别是通过ZXing android应用程序(http://code.google.com/p/zxing/)完成的,我基本上只是更改了ZXing应用程序的代码,以便它可以识别多个QR码同时,可以连续进行扫描,而不会像原始应用那样在成功扫描后冻结。所以我的应用程序基本上是连续扫描多个QR码的ZXing应用程序。

但我面临一个问题:

  1. QR码与识别率的内置摄像头是不是 非常好。 ZXing应用程序使用它从 相机预览中获得的图片。但是这些图片质量不是很好。 有没有可能让相机预览制作更好的 高质量的照片?

    P.S.我也尝试使用camera.photoPicture() 拍摄真正的快照以获得更好的质量,但拍摄照片需要很长时间 ,因此用户的实时体验会丢失。

任何帮助,高度赞赏!

谢谢。

回答

1

那么,问题是......为什么图像质量不好?图像分辨率低吗?预览失焦吗?我之前就使用过ZXing Android应用程序,并且我知道它有一种机制可以让相机自动对焦现场。

如果自动对焦机制正在进行,那么您可能会解码一些可能会失焦的图像。理性地说,只有当相机对焦时解码才有意义,但这会延迟解码过程,因为它必须等待聚焦来完成图像处理阶段。不过,我不会太担心这个,原因有几个:1)自动对焦速度非常快,所以会有很少模糊的图像(如果有的话),2)相机保持焦点有足够的时间可以进行几次解码,3)QRCodes通常不需要检测和解码完美图像 - 它们是按照这种方式设计的。

如果这对您是个问题,请禁用连续自动对焦并将参数设置为适合您的任何内容。

如果问题来自低分辨率的帧,那就增加它...,但QRCodes也被设计为即使在小分辨率下也能被识别。另外,请记住,提高分辨率也会增加解码时间...

+0

感谢您分享您的想法。我知道QR码旨在仅在不良图像上识别。但我的应用程序idealy应该也可以从更大的距离,例如1米工作。所以QR码已经很小了。如果图像没有完全集中,识别没有机会。 – Dude 2012-01-12 16:48:49