1

我正在从事一个必须读取和输出条形码数据的项目。它使用标准的罗技相机拍照。它使用 JavaCV(Java 的 OpenCV 包)访问网络摄像头并拍照。图片存储后,使用Zxing包读取并输出条码数据。

该程序有效,但还不够好。它可以处理相当大的条码,但无法读取任何正常大小的条码。我的理论是相机的分辨率不够好。但是,我想问一下这里是否有人知道我如何通过代码改进条形码阅读器。(即通过JavaCV之类的对焦相机)

tl:dr 版本:无论如何我可以通过 JavaCV 提高图像质量以读取条形码吗?

4

1 回答 1

0

我有一个类似的问题。

使用 QZXing(ZXing 到 Qt 的一个端口)我得到了 2D(DataMatrix)解码(具有足够好的图像),但是 1D 条码,即使明显大而清晰,有时也完全错过了。多么痛苦……

我尝试引入一些 GUI,迫使用户设计 ROI……这完全解决了 2D,但仍然 1D 有时会出现问题。

然后我切换到ZBar,它适用于 1D。现在 ZXing 只处理 2D,OTOH ZBar 不处理 DataMatrix ......

我建议不要增加图像分辨率。我试图在OpenCV中找到一些ROI检测助手,但到目前为止我还没有找到一个简单的方法......

于 2012-11-11T08:43:38.813 回答