【问题标题】:ZBar vs. zxing - QR recognition comparisonZBar vs. zxing——二维码识别对比
【发布时间】:2012-01-19 20:46:02
【问题描述】:

谁能说出在低光照条件下哪个库在小型二维码识别方面更好? 平台为 iPhone 4/iOS 5 我尝试了 Barcodes (zxing) 和 ZBar 应用程序,似乎 zxing 在“硬”条件下识别代码方面明显更好。也就是说,这不是一个非常大的样本测试。

任何关于这两个库的实际图像识别能力(速度+质量)的输入都会有所帮助。

TIA。

【问题讨论】:

  • 我怀疑两者实际上都会好很多,因为小 QR 码很容易扫描。 zxing 虽然特别擅长二维码,但它的 C++ 端口与 Java 版本相比有点陈旧。无论如何我都没有确切的数字,但我写了zxing的这一部分。

标签: qr-code zxing zbar-sdk


【解决方案1】:

对我来说ZXing更好。我在 iOS 应用程序中都使用过它们。

  1. 在使用 ZBar 时,我遇到了大型 QRCode 的问题。

  2. ZXing 在 iPhone 4 和 3GS 上运行良好,但 Zbar 在 3GS 上运行更差,有时它无法捕获代码。

【讨论】:

  • 在 zxing 中,不仅仅是二维码解码已经从 Java 移植到 C++,尽管我有点同意你的最后一点,即这些移植与 Java 版本相比更加参差不齐和陈旧。跨度>
  • 你应该看看这个:ttp://zbar.sourceforge.net/iphone/sdkdoc/optimizing.html,性能方面,使用 ZBar 默认值会产生大型 v40 QRCode 的问题 -解决方案是将 videoQuality 属性设置为 UIImagePickerControllerQualityTypeHigh 而不是默认的 640x480(在 UIImagepickerController 苹果文档中找到。大约一年前我尝试了这两个 SDK,我喜欢 ZXing 示例应用程序,它提供了一个独立解析器的想法,列出了操作项以及允许用户选择是否执行操作的附加安全性。
  • 这是个老问题,但它是否适用于二维码和条形码,还是我必须使用单独的库来管理它们?我需要扫描二维码和条形码的能力,你会推荐哪个?
【解决方案2】:

你应该看看this link。性能方面,使用 ZBar 默认值会产生大型 v40 QRCode 的问题 - 解决方案是将 videoQuality 属性设置为 UIImagePickerControllerQualityTypeHigh 而不是默认的 640x480(Apple 文档)。根据文档,条码模块大小需要至少为 3 像素才能扫描。大约一年前我尝试了这两个 SDK,我喜欢 ZXing 示例应用,但最后在应用商店提交之前,我发现它生成了很多我发现很难删除的警告消息。切换到 ZBar 后,我可以清理消息并为我的应用程序添加扫描多种 1D 条形码类型的功能。如前所述,默认设置不会为您提供最佳性能,但您需要查看选项,关闭您不需要的选项,剥离它应该表现得相当好。

我目前对 ZBar 非常满意,但如果 ZXing 支持其他条形码类型,特别是 DataMatrix、PDF417、Aztec 和 Maxi Code,我可能会切换。

【讨论】:

  • 我最近承诺支持 Java 支持的大多数 1D(不包括 RSS 和一些 UPC/EAN 扩展)和 2D(不包括 PDF-417)代码(不'不包括 Maxcodes)。不确定构建警告。小部件中有一些,因为它早于 ARC。
  • @Paulo zbar 是否支持 DataMatrix?你知道要使用的那个符号吗?
  • 据我所知,Zbar 从未更新为 64 位,所以我们很多人已经转向 ZXING 或 IOS“AVCaptureMetaDataOutput”的本机条形码功能,从 IOS 9 开始支持 DataMatrix 和几乎所有其他数据栏除外。
  • 只是一个侧面观察,我不确定根本原因在哪里:与电装波QR code 格式相比,pdf417 格式的zxing 识别似乎较差。
【解决方案3】:

我发现 Zxing 在后来的 iPad 和 iPhone 上非常好用。 iPad 2 的摄像头在 Zxing 上很慢,但后来的摄像头速度更快,对焦更好,大大提高了速度。

我在 iPad 2 上使用 Zxing 所做的一个“hack”是更改代码中的矩形。我会逐步缩小每次尝试,因此我不会使用显示的矩形,而是逐步扩展它,因此每次扫描我会检查 5 次。结果大大改善了。在 iPad 3 等上,这不是必需的,但我仍然有代码,而且速度很快。

我在 Windows 中使用扫描仪 (300 DPI) 使用了 ZBar 和 ZXing,发现密集的 QRCodes 对 ZXIng 来说是一个问题,因此必须包含 ZBar 支持。实现 ZBar 支持非常棘手,如果有人感兴趣,我必须编写自己的 API。

【讨论】:

  • 您能否添加更多信息,您所说的 dense QRCodes a problem for ZXing 是什么意思?这是什么二维码版本?还是每个模块的像素数?是在图片提要还是视频提要中?
  • 这是不久前(5 年?),但我记得基本上是 qrcodes 里面有很多数据。因此,如果您选择 QR 码大小并放置一个小字符串或一个大字符串,那么大字符串将更难阅读 - 大概可用空间中的像素数量会增加。这是来自图片(300 DPI 扫描仪)。从那时起,ZXIng 一直在前进,所以现在可能会更好。我确实记得我什至使用了这两个库 - 所以我会同时尝试并比较和使用结果。它在统计上更准确。,
【解决方案4】:

这两个我都用过。如果要扫描数据矩阵码,则必须使用 ZXing。但如果您不需要数据矩阵,使用 ZBar 是一种快速简便的方法。 此外,iOS 7 中有一个内置的扫描仪 API,AVCaptureMetaDataOutput,它可以扫描除数据矩阵之外的一维和二维码。由于简单,我更喜欢 AVCaptureMetaDataOutput。这是AVCaptureMetaDataOutput 的指南。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    相关资源
    最近更新 更多