从JAVA中的图像中读取条形码

cha*_*a89 10 java image

我有一个java应用程序,它需要从图像读取条形码到java程序.我对zxing库非常感兴趣,它能够检索条形码,但不是所有的图像(我的意思是如果图像质量稍差).

我的问题是,阅读条形码最优选的图像格式是什么?JPEG或PNG?我正在尝试JPEG图像.

另一个问题是,从图像中检索条形码的最可靠的Java API/SDK是什么.我已经尝试过,Accusoft,DataSymbol,AtalaSoft,j4l都是付费版本.并且经历过像Ron Cemer JavaBar这样的开源.但我仍然在寻找一种JAVA API/SDK,它可以在条形码读取中提供准确的结果.

您关于条形码阅读器JAVA API/SDK的信息对我来说真的很有帮助.

kev*_*vto 5

如果您不介意为您的项目支付额外的费用,@ Tom Setzer的解决方案将是不错的选择。但是,如果您没有购买此类软件的预算,我仍然建议您听听Tom的回答。

一种改善结果的选择是在发送到引擎之前进行一些图像处理。从灰色/彩色变为黑白之前,请尝试放大图像。比引擎提供的更好的二值化(灰色为黑白)也可以提供帮助。

他是对的,但我仍在使用ZXing。它的伟大工程只要你做一些图像处理尝试读取条形码之前。

我正在使用OpenCV进行图像处理。一个出色的本机库,可同时在Linux和Windows以及其他一些平台上运行(没有研究过)。

这就是我做到的方式。

  1. 转换为灰度图像。
  2. 调整条形码的大小,最大高度为4倍,宽度为8倍。
  3. 应用大小为17x17像素的高斯模糊。
  4. 应用二进制阈值,阈值为225,最大值为255。

完成这些步骤后,您将获得更好的结果。


资源:


con*_*ner 0

JavaBar 是您可以考虑的另一件事,它是开源的并且有很好的评论