作为一个宠物项目/学习经验(不是这不是家庭作业)我正在研究软件来识别照片中的条形码.我不是在寻找能够实现这一目标的软件或图书馆 - 而是将其用作我正在写博客的学习练习,并将在Codeplex上发布.
我有成功识别EAN13条形码的代码(我在CodePlex上发布)和UPC版本A/E应该很快就会出现.不过,我有两个我很关心的方面.首先是解码图像中模糊或对比度差的条形码等.其次是在较大的图片中简单地找到实际的条形码(现在你必须给我一张条形码的照片).
我有直觉,某种形式的AI会帮助我.我过去曾用遗传算法玩过一段时间,而且我在人工智能上学了很长时间,所以对我来说并不是完全陌生,但我不太清楚从哪里开始.
什么类型的算法最适合这类问题?AI grunt工作的任何推荐阅读或代码?是的,我想了解发生了什么,但我不一定想要自己编写各种类型的编码等级.
我建议搜索条形码所具有的属性.我想到的一些是:
颜色直方图在均匀分布中显示两种不同的颜色
进行霍夫变换会发现许多平行线
线的粗细具有两个不同的尺寸.
其他?
有了这个,我会将图像分割成碎片并使用这些特征进行分类,然后将结果合并到计算一个喜欢的部分,如果该部分包含条形码.
对于你的第二个问题(模糊图像),我建议计算灰度值的一阶导数,然后检测这个空间中线条的边缘.如果图像模糊,则导数的最大值较低,但应该可以检测到某个模糊因子.
这对你有帮助吗?