基于halcon的木板缺陷检测算法代码-基于halcon的区域增长、大津分割算法、直方图均衡化

关键词: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、特征提取
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码:
在这里插入图片描述
在这里插入图片描述
程序源码可前往微信公众号【洞观科研】获取网盘链接下载。

猜你喜欢

转载自blog.csdn.net/u014751362/article/details/129030725