1.一种基于计算机视觉的竹条表面缺陷检测方法,包括以下步骤:Ⅰ、摄取竹条图像
摄取竹条表面灰度图像f;
Ⅱ、归一化
采用伽玛校正法对图像f进行归一化,得到图像fg;
Ⅲ、滤波
对图像fg进行中值滤波以及高斯滤波获得图像f1;
Ⅳ、小波变换处理
小波变换处理得到图像f2;
Ⅴ、最大类间方差法的阈值分割
用最大类间方差法对图像f2进行阈值分割,获得图像f3;
以竹条图像为前景,前景点面积占图像总面积比例为w0,前景点灰度均值为u0;背景点面积占图像总面积比例为w1,背景点灰度均值为u1;整个图像的灰度均值为u=w0×u0+w1×u1;
2 2
目标函数g(t)=w0×(u0-u)+w1×(u1-u),g(t)为分割阈值t的类间方差表达式;遍历图像f2所有的灰度值,取t从0到255,当g(t)取得最大值时、所对应的t=t0为图像f2前景与背景的分割灰度阈值;
Ⅵ、孔洞填充
对图像f3上的竹条图像的虫洞和/或霉斑区域进行孔洞填充,得到模板f4;图像中孔洞缺陷水平方向最大长度为T个像素,取长度大于T的水平线型结构元素对图像f3闭操作,完成孔洞填充;
Ⅶ、霉斑和/或虫洞缺陷判断
用差影法、即用图像f4-f3得到分割图像f5,竹条图像中的虫洞和/或霉斑缺陷分割出在f5显示;
Ⅶ-1、若图像f5中显示的缺陷无连通域或者缺陷连通域面积小于缺陷域面积阈值A,则认为没有霉斑和/或虫洞缺陷,并进入步骤Ⅷ;所述缺陷域面积阈值A为要求检测的最小缺陷面积或者通过预先实验设定阈值A;
Ⅶ-2、若图像f5中显示的缺陷连通域面积等于或大于缺陷域面积阈值A,则计算缺陷连通域所对应图像的平均灰度值Gm与图像f5中竹条图像的平均灰度值G0的差Tm,若Tm大于孔洞灰度差阈值G则认为存在霉斑和/或虫洞缺陷,判断此为缺陷竹条;若仍有未检测的竹条,返回步骤Ⅰ,进行下一根竹条的检测;
所述孔洞灰度差阈值G小于竹条平均灰度值50~70;
若Tm不大于孔洞灰度差阈值G则认为不存在霉斑或虫洞缺陷,进入步骤Ⅷ;
Ⅷ、边缘和裂缝检测
用canny算子对图像f2进行检测,获得竹条边缘和裂缝缺陷的图像f6;
Ⅸ、去除竹条边缘
图像f6各列从上端到下端、及从下端到上端检索、获得的第一个非零像素点置零,去除图像f6上的竹条上、下边缘,得到竹条的裂缝缺陷图像f7;
Ⅹ、裂缝缺陷判断
计算f7中非零像素点总个数Se和最大连通域长度Me以及非零像素点所对应的平均灰度值;
设定非零像素点总个数阈值T1,T1设定为最小裂缝缺陷长度像素值两倍,或者通过预先实验设定阈值;
设定最大连通域长度阈值T2,T2设定为裂缝缺陷长度像素值,或者通过预先实验设定阈值;
若Se>T1或者Me>T2,同时非零像素点平均灰度Hm与竹条平均灰度G0的差大于裂缝灰度差阈值H,则判定为有裂缝缺陷的竹条;若仍有未检测的竹条,返回步骤Ⅰ,进行下一根竹条的检测;若无未检测的竹条,检测完成;
若Se>T1或者Me>T2均不成立,认为是合格竹条;若Se>T1或者Me>T2,但非零像素点平均灰度与竹条平均灰度G0的差不大于裂缝灰度差阈值H,认为是合格竹条;若仍有未检测的竹条,返回步骤Ⅰ,进行下一根竹条的检测;若无未检测的竹条,检测完成;
所述裂缝灰度差阈值H小于步骤Ⅶ的孔洞灰度差阈值G,通过预先实验设定。
2.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅰ摄取竹条图像时采用无反光的黑色背景。
3.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅳ采用sym4小波对图像f1进行四级小波变换,再对图像f1基于小波去除竖直方向和对角方向的第四级细节系数,并去除水平方向第一级细节系数。
4.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅵ对处于竹条图像边缘的虫洞和/或霉斑缺陷进行闭操作时;水平线性结构元素的长度像素值为T~(T+10)。
5.根据权利要求4所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅵ的闭操作之后,再用长度等于或大于2~5像素与水平线交角为90度的线型结构元素对图像f3执行腐蚀操作。
6.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅶ中缺陷域面积阈值A取值为2~5个像素。
7.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅶ-2中的孔洞灰度差阈值G设定为70~90。
8.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤X中的裂缝灰度差阈值H设定为40~60。
9.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅹ中非零像素点总个数阈值T1设为50~70个;最大连通域长度阈值T2设为
20~40个像素值。
10.根据权利要求1所述的基于计算机视觉的竹条表面缺陷检测方法,其特征在于:所述步骤Ⅶ-2中所检测竹条缺陷连通域的平均灰度值Gm的求取方法如下:图像f5缺陷区域的灰度值为1,背景区域的灰度值为0;图像f5与f2的各个点的灰度值相乘,相乘后f2背景区域灰度值为0,f2缺陷区域的灰度值保持不变,其平均灰度为Gm;
所述步骤Ⅹ中所检测竹条非零像素点平均灰度Hm的求取方法如下:图像f7的非零像素点灰度值为1,背景区域的灰度值为0;图像f7与f2的各个点的灰度值相乘,相乘后f2背景区域灰度值为0,f2非零像素点的灰度值保持不变,其平均灰度为Hm。