vc如何框选出图片中的条形码
最近在写一个自动框选的功能,要求在一张有一定背景的图片中框选出可能存在的条形码,不要求识别出条形码,但要能快速判断出图片中是否存在条形码。我一直想不到好的解决方案,想到用blob提取,但是一般的一维条形码并不是一个连通域,无法做到整体框选。请教各位大牛能不能给一点思路或者建议,关于图像处理方面的。被这个事情搞得头大了,主要是没有好的思路,希望有人能指点迷津
这个背景太复杂了,不好办.关键是文字太多,跟条码面积相当,又全是单色,要是彩色的还能考虑色彩判别.
楼主你需要考虑几个问题:
1.条码图像是否有倾斜?有没有差别很大的 2.原图像的分辨率如何? 3.是否有粗筛的办法快速删除噪声区域(肯定不是条码的区域)
1和2需要好好考虑下,决定了你可以采用的办法.3估计可能性不大,因为如果能快速删除无关区域,说明对条码区域的特征有先验知识,而这正是你的需求.
总的来说采用边缘检测+分块统计的方法,总的来说效果还不错了。已经可以检测到条码大致区域,下一步还需要对倾斜角度进行修正。当然还需要一些去噪和排除不可能区域的算法。但缺点是对条码的缩放有点敏感,条码过大或者扫面的DPI设置很高的时候检测不出来
|