在文档处理和数据管理领域,快速准确地解码条形码的能力起着至关重要的作用。条形码在各行各业无处不在,从零售和物流到 医疗保健 条形码是一种用于跟踪、识别和库存管理的不可或缺的工具。在 Document AI 中使用 ZBar 等先进技术进行条形码解码,可以大大简化工作流程并提高整体效率。在这篇博文中,我们将介绍这个库、它的优势以及如何在 Document AI 中彻底改变条形码解码。
本文章以德语撰写,可自动翻译成其他语言并进行重读。我们欢迎您在文章末尾进行反馈。
定义
什么是 zbar?ZBar 是一款开源软件包,用于读取各种来源的条形码,包括图像、视频和 PDF 文档。它支持不同类型的条形码,如 QR 码、EAN-13、Code 128 等。该库提供友好的用户界面,因此深受希望将条形码扫描功能集成到其应用程序和工作流程中的开发人员和企业的青睐。
ZBar 在文档 AI 中的作用
文档人工智能(Document AI)是一个不断发展的人工智能领域,其重点是实现文档处理任务的自动化,以减少人工干预并加快数据提取。通过将 ZBar 与文档 AI 解决方案集成,企业可以从发票、运输标签和库存记录等大量文档中高效地捕获条形码数据。这种集成提高了数据提取的准确性,最大限度地降低了人为错误的风险,从而提高了运营效率。
ZBar 的优势
- 速度和效率:
该库的优化算法可实时快速解码条形码。这使它们成为处理大量文件的理想选择。通过自动扫描条形码,基于 ZBar 的文档 AI 应用程序可以大大缩短处理时间。这样,公司就可以专注于价值更高的任务。 - 准确性和可靠性:
条形码解码的准确性至关重要。对于物流、产品跟踪和法规遵从性都需要准确识别的行业来说,尤其如此。强大的解码能力可确保可靠的结果。它们还能最大限度地降低条形码被误读或忽略的可能性。从而提高数据完整性。 - 跨平台兼容性
该库可在多个平台上使用,并可使用多种编程语言。这使它非常适合不同的应用。ZBar 可以无缝地融入现有的技术堆栈,简化开发过程。
用 Python 实现:分步指南
1. 开始安装 pyzbar
pip install pyzbar
2. 使用 cv2 加载图像或文档(也可以使用 Pillow 或其他软件包)。
导入 cv2
image_path = "path/to/your/image.png" (图像路径
image = cv2.imread(image_path)
3. 条形码扫描,立即使用 pyzbar扫描图像条形码并提取解码数据。
从 pyzbar.pyzbar 导入解码
decoded_barcodes = decode(image)
4. 循环解码条形码。之后,每个结果都会以矩形的形式叠加到原始图像上。不要忘记使用条形码数据作为该矩形的标签。
对于条形码中的条形码
barcode_data = barcode.data.decode("utf-8")
x、y、w、h = barcode.rect
cv2.rectangle(image, (x, y), (x+w, y+h), (255,0,255), 2)
cv2.putText(image, barcode_data, (x, y - 10)、
cv2.FONT_HERSHEY_SIMPLEX、
1, (255,0,255), 2)
示例
下面举例说明如何处理带有条形码的文档 Konfuzio 会是什么样子:

如果您想使用我们的条形码解码解决方案、 请随时通过联系表格与我们联系。
ZBar 的替代品
zxing-cpp
ZXing-C++ ("斑马线")是一个 C++ 已实施的开放源代码库,用于处理多种格式的线性/矩阵条形码。
它最初是从 Java ZXing 库移植过来的,但经过进一步开发,现在在质量和性能方面有了许多改进。它可以读写各种格式的条形码。
该图书馆以纯粹的 C++17 (/C++20) 开发的。这确保了坚实的基础,而无需依赖第三方依赖性。特别是,它提供线程安全,并为不同平台提供了令人印象深刻的封装器/绑定选择。例如:Android、C、iOS、Python、WebAssembly、WinRT 甚至 Flutter。
QuaggaJS
QuaggaJS 是一款完全使用 JavaScript 编写的条形码扫描器。它支持不同条形码类型的实时本地化和解码。例如 EAN、CODE 128、CODE 39、EAN 8、UPC-A、UPC-C、I2of5、2of5、CODE 93 和 CODABAR.
该库可直接访问用户的摄像头流。虽然条形码是基于复杂的图像处理,但智能手机能够实时定位和解码条形码。
更多
如果您喜欢 Konfuzio 的人工智能博客,我们将为您准备一份大礼!请浏览我们广泛收集的引人入胜的文章,深入了解文档人工智能的迷人世界: