随着机器学习的发展,对于工业产品的缺陷检测,深度网络模型检测缺陷的准确率远远高于传统图像处理算法。现在一般的做法是将传统图像技术作为预处理,或者将传统提取特征与网络深度特征相结合进一步提高准确率。
今天整理以前资料,突然看到几年前初识图像处理时做的小东西,现在看简直弱爆了,用图像处理基本操作实现工业产品缺陷检测。以此记录下初心,作为第一篇博客。(当时比较水,请勿吐槽(
_
))
由于PCB的复杂性,可以分类处理电路板块。对于元件的焊接位置,如贴焊的小芯片阵,可以采取模板匹配的方式,循环检测出与模板匹配度最高的正确芯片焊接处,设定相似度阈值,把不正确的地方用红框标注出来。
对于元件的数量检测,例如大芯片和电容,可以先采取图像预处理,然后边缘检测等寻找元件面积,长度等其他特征,并设定参数,统计元件的数量。
对于焊接不当,多锡,缺锡的情况,基于其亮度对比,引脚特征等因素,用图像预处理,二值化,形态学基本运算等,并结合边缘检测后的轮廓特征,设定参数,将缺陷之处标识出来。
由于都是基本操作,每个完整的代码就不贴了,由于简单,结果图都挺不错的,贴几个常用的函数吧,当时还是用的Opencv C++: