我正在开发一个必须读取和输出条形码数据的项目。它使用标准的罗技相机拍照。它使用JavaCV(Java的OpenCV包)来访问网络摄像头并拍照。存储图片后,然后使用Zxing包读取并输出条形码数据。
该计划有效,但还不够。它可以处理相当大的条形码,但无法读取正常大小的任何内容。我的理论是相机上的分辨率不够好。但是,我想问一下这里是否有人知道如何通过代码改进条形码阅读器。 (即通过JavaCV或其他东西聚焦相机)
tl:dr版本:无论如何,我可以通过JavaCV提高条形码读取的图像质量吗?
答案 0 :(得分:0)
我遇到了类似的问题。
使用QZXing(ZXing到Qt的端口)我得到2D(DataMatrix)解码(具有足够好的图像),但是1D条形码,甚至显然大而清晰,有时完全错过了。多么痛苦......
我试图引入一些GUI,迫使用户设计ROI ......这完全解决了2D问题,但有时候1D仍有问题。
然后我切换到ZBar,这与1D相关。现在ZXing只处理2D,OTOH ZBar不处理DataMatrix ......
我建议不要提高图像分辨率。我试图在OpenCV中找到一些ROI检测助手,但到目前为止我还没有找到一个简单的方法......