一维条形码(以下简称“一维码”)作为条形码的重要分支,在日常生活中十分常见。它能存储包含产地、日期、商品类别等诸多信息,具有经济实用、输入快、可靠性高、信息量大以及易转移等优点,广泛应用于工业、农业、生物医疗等领域。但是生产会有很多的缺陷?比如断码、白点等等。那么机器视觉系统是怎么解决这个问题的呢?
【瑕疵类型】
条码中可能存在的断码、白点、黑点等影响条码外观的瑕疵,检测这些瑕疵,并用红色矩形框将其标出。
【缺陷检测步骤】
① 预处理:对图形进行二值化;
② 确定ROI:图形取反,膨胀,得到最大的两个连通域目标,即为两个条码区域ROI;
③ 取条码图形:将ROI区域与原图形做逻辑与操作,得到只有原条码的图片;
④ 去噪:中值滤波,去除过小的噪声,并让过小的缺陷横向特征更明显;
⑤ 去条码:再次取反,进行开运算,先通过腐蚀操作使用长横条形状内核去除竖码条,再通过膨胀操作让缺陷部分更突出;
⑥ 确定缺陷块:将去除了竖条码区域的图像和ROI区域做与运算,得到缺陷小块集合;
⑦ 优化:不同内核的多次中值滤波,进一步滤去未消除干净的竖条码,再次膨胀突出缺陷;
⑧ 标记:使用红色矩形框对各连通域进行标记。
小结:一维码瑕疵检测能更好提高一维码的质量问题和生产效率,如果你存在视觉检测的问题。那么不妨可以和我们取得联系,我们有一对一的顾问和你对接。