无法通过zxing客户端扫描QR码

6
我无法扫描具有深色背景(深粉色)和较浅二维码(浅粉色)的QR码。我已经在我的应用程序中集成了zxing条形码扫描器来扫描代码,对于较浅的背景和深色QR码它工作得很好。
我尝试使用默认的zxing条形码扫描器应用程序进行扫描,但它无法扫描此类代码。
以下是我要扫描的QRCode, enter image description here 请提供一些解决方案。
谢谢。

1
请仔细阅读此链接:http://stackoverflow.com/questions/8103279/zxing-unable-to-scan-small-upc-codes。这可能会解决你的问题。 - Akshay Aher
您也可以考虑发布一个演示您问题的样本QR码。 - CommonsWare
是的,我已经在我的问题中编辑了我要扫描的QR码,请看一下。 - Gautam Mandsorwale
1
我怀疑你需要更大的对比度才能得到可靠的结果。请记住,不同设备的相机质量差异很大,因此即使某些设备可以处理这个条形码,其他设备可能无法处理。 - CommonsWare
是的,我理解您的观点。我使用三星Galaxy S3(高端设备)、三星Galaxy Nexus(高端设备)、三星Ace(中端设备)和LG Optimus(中端设备)扫描了相同的QR码,但都没有成功。您是指QR码的对比度吗? - Gautam Mandsorwale
@GautamM。你好,你找到解决这个问题(颜色反转的QR码)的方法了吗? - Ioan Moldovan
1个回答

1
您所包含的QR Code的对比度应该对大多数相机来说已经足够了。问题在于,ZXing库不支持倒置的QR Code。它只支持浅色背景上的深色码。要添加此支持,您需要自己反转图像。您可以使用类似于此代码的代码: http://www.androidsnippets.com/how-to-invert-bitmap-color
当然,您需要通过包含库来集成ZXing,而不仅仅是通过Intent(我不知道您现在是如何做到的),这样才能修改一些代码。
您可以将反转位图的代码添加到DecodeHandler类的decode(byte[], int, int)方法中。

该库在LuminanceSource实现中完美支持反向条形码,只是它们不是ISO规范核心的一部分,因此Android应用程序默认情况下不会查找它们。但是有一个设置可以启用它。尽管如此,它仍然使用相机驱动程序来反转图像... - Sean Owen
1
好的,感谢您的评论。您能告诉我需要进行哪些不同的设置来解决这个问题吗? - Gautam Mandsorwale
@GautamM。你找到倒置二维码的解决方案了吗? - Ioan Moldovan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接