使用 AI 识别条形码

作为一个个人项目/学习体验(这不是家庭作业),我正在开发一款从照片中识别条形码的软件。我不是在寻找可以做到这一点的软件或库 – 相反,我将其用作学习练习,我正在写博客并将在 Codeplex 上发布。

我已编写了可以成功识别 EAN13 条形码的代码(我在 CodePlex 上发布了该代码),UPC 版本 A/E 应该很快也会完成。但我有两个担心的地方。首先是解码图片模糊或对比度差等的条形码。其次是简单地在一个较大的图片中找到实际的条形码(现在你需要给我一张只有条形码的照片)。

我有一种直觉,某种形式的 AI 会在这里帮助我。过去我曾玩过遗传算法,并且很久以前上过一门关于 AI 的课程,所以这对我来说并不完全陌生,但我不太确定从哪里开始。

哪种类型的算法最适合这种类型的问题?有什么推荐的阅读材料或 AI 基础工作的代码?是的,我想了解正在发生的事情,但我不一定想亲自编写排序等代码。


回答:

我建议搜索条形码的属性。我想到的一些是:

  1. 颜色的直方图显示两种明显不同的颜色,分布大致均匀
  2. 进行霍夫变换会发现许多平行线
  3. 线条的粗细具有两个明显的尺寸。

还有其他的吗?

有了这些,我会将图像分成几块,并使用这些特征进行分类,然后将结果组合起来,以计算该块是否包含条形码的可能性。

对于你的第二个问题(模糊图像),我建议计算灰度值的一阶导数,然后在该空间中检测线条的边缘。如果图像模糊,导数的最大值会较低,但应该可以在一定模糊因子内检测到。

这有帮助吗?

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注