首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用zxing.net扫描多个条码

用zxing.net扫描多个条码
EN

Stack Overflow用户
提问于 2015-01-21 18:42:03
回答 1查看 5.1K关注 0票数 6

我的目标是在这样一个更大的图像(四大)上检测多个数据:

基于几个代码示例,我编写了一个小测试程序:

代码语言:javascript
复制
Bitmap image = getImage();

DataMatrixReader reader = new DataMatrixReader();
GenericMultipleBarcodeReader genericReader = new genericMultipleBarcodeReader(reader);
Dictionary<DecodeHintType, object> hints = new Dictionary<DecodeHintType,object>();
hints.Add(DecodeHintType.TRY_HARDER, true);

BitmapLuminanceSource source = new BitmapLuminanceSource(image);
HybridBinarizer binarizer = new HybridBinarizer(source);
BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
Result[] results = genericReader.decodeMultiple(binaryBitmap,hints);

show(results);

它无法检测到大图像上的任何代码。

但是它可以检测到代码,当它这样裁剪时:

之后,我合并了两个生成的数据矩阵,它也失败了:

上一次,我用稍微剪裁过的图像进行了两次测试,都失败了:

所以看起来这个库一点也不健壮,或者我使用错了。

知道如何提高我的成绩吗?(包括其他图书馆和预处理)

EN

回答 1

Stack Overflow用户

发布于 2015-01-30 07:05:46

不能说库不够健壮,但这里有两个关键因素影响您:

  • 中兴的数据矩阵检测算法假设条码是居中的。或者更准确地说,图像的中心在数据矩阵中。
  • 当条形码是网格对齐时,中兴的多个阅读器特别失败。

我的建议是在考虑到我提到的内容的情况下实现您自己的MultipleBarcodeReader

一种天真的方法可能是以点网格为中心的样本图像,这样每个数据矩阵(无论其在图像中的位置)至少包含其中的一个点。你只需要确保排除重复的代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28074479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档