关键词:Halcon;图像处理;视觉检测;木板缺陷检测;特征提取
对于木条、木板等木制品表观缺陷检测,是机器视觉检测在工业中的一个主要应用,而在这其中节子的提取和检测又是一项重要的品控检测指标,本文以节孔、死结和活节为例,分享从图像预处理(灰度化、直方图均衡化、平滑等)到特征提取(OTSU(大津分割算法)、形态学处理、区域增长、Blob分析、不变矩等)的完整过程,最终实现了缺陷的定位,并提取了多维特征,用于后续的SVM(支持向量机)或者神经网络训练的特征量输入。之所以没有选用深度学习,一是对于学生而言,直接采用深度学习最终效果的解释性不好,并且不易体现出自己的工作量,毕竟这样就不用前面的预处理和特征提取了。其次,对于某些场景的应用化角度,不一定总有特别大量的样本,并且部署时间也是一个问题。对于后面的SVM进行三种缺陷的分类代码,后续有时间再更新。下面为大致的操作思路流程以及大致的效果,完整的代码附在最后。最终的程序和图片可以去公众号直接白嫖。
1、图像灰度化
(1)取分量法(R、G、B随便一个)
(2)取最大值法
(3)取平均值法
(4)加权平均值法(R、G、B权值合适就行)
采用上述四种方法对采集的彩色图像(命名为灰度化图)进行灰度化处理。
2、直方图均衡化处理
分别对活节、死节和节孔图像进行直方图均衡化处理。
得到均衡化后对应的图像以及均衡化直方图。
3、图像平滑处理
对原图像(发给你的命名为灰度化图的图)添加噪声(如0.02椒盐噪声),分别运用以下滤波方法去噪。
(1)邻域平均值法
(2)中值滤波法
(3)自适应加权中值滤波法
得到图像平滑结果图像。
4、图像锐化
对上述活节、死节和节孔图像进行拉氏锐化和Sobel锐化。
得到锐化后图像。
5、图像分割
对上述活节、死节和节孔缺陷分别运用以下两种算法进行图像分割
(1)Otsu阈值分割算法
(2)基于区域生长分割算法
得到缺陷分割图像。
6、形态学后处理
对分割图像进行膨胀、腐蚀、开闭运算。
7、特征提取
代码:
程序源码可前往微信公众号【洞观科研】获取网盘链接下载。