【发布时间】:2012-01-03 01:02:24
【问题描述】:
我正在尝试在 matlab 中制作条形码扫描仪。在条形码中,每个白条都是 1,每个黑条都是 0。我正在尝试获取这些条。但这就是问题所在:
正如您所见,条形的宽度不一样,有一次它们是 3 像素……然后是 2 像素等等……更糟糕的是,它们的图像也不同。所以我的问题是。在不知道 1 条宽度的情况下如何获取这些条的值。或者我如何给它们所有相同的宽度。 (2个相同的酒吧可以彼此相邻)。无法检测条形之间的过渡,因为在一定数量的像素之后可能会出现过渡......然后可能会有另一个条形或同一个条形。但是因为不可能知道这个特定数量的像素,所以不可能检测到过渡。由于条形没有标准宽度,因此也无法使用某种窗口。那么我该如何规范呢?
条形码:
提前谢谢!
【问题讨论】:
-
你能发一张完整的图片吗?还是有更多条的部分?
-
如果您的条形图有两个像素宽,那么您的分辨率太低,无法进行任何有意义的处理。
-
也许您可以计算平均强度
M,然后对每个像素p测试其强度是I(p)>1.1*M还是I(p)<0.9*M。 -
我目前用平均值修复了它,它给出了一个不错的结果。但我怀疑它总是会给出正确的结果。
标签: image matlab image-processing barcode windowing