【问题标题】:Improving Barcode scanning with webcam - Java使用网络摄像头改进条码扫描 - Java
【发布时间】:2012-10-30 23:17:34
【问题描述】:

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

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

tl:dr 版本:有没有我可以通过 JavaCV 提高图像质量以用于条形码读取?

【问题讨论】:

  • 也许发布关于你目前正在尝试做的事情,换句话说,什么对你不起作用。
  • @Clark:我觉得解释的很清楚了。

标签: java opencv webcam barcode javacv


【解决方案1】:

我也遇到过类似的问题。

使用 QZXing(ZXing 到 Qt 的一个端口)我得到了 2D(DataMatrix)解码(具有足够好的图像),但是 1D 条码,即使看起来又大又清晰,有时完全错过了。好痛啊……

我尝试引入一些 GUI,强制用户设计 ROI...这完全解决了 2D,但 1D 有时还是会出现问题。

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

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

【讨论】:

  • 为什么建议不要增加分辨率?我一直在互联网上搜索提高图像质量的方法,如果你的相机允许,你可以通过 OpenCV 提高分辨率。这样做有什么本质上的错误吗?
  • 增加的分辨率也可能增加误报。正如我所说,QZXing 在 1D 中的表现不太好。使用 2D,使用小型 Datamatrix 并且相当不集中,我拖动一个正方形并识别它。在这种情况下,绝对分辨率非常低。这是对投资回报率的尊重(因为我将其设置为拖动)...也许 ZXing 比 QXZing 效果更好,我想知道...
猜你喜欢
  • 1970-01-01
  • 2017-04-22
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-10
相关资源
最近更新 更多