本发明涉及机器视觉技术领域,具体涉及一种基于骨架自校正的瓦楞纸板非监督提取方法。
背景技术:
瓦楞纸板是一个多层的黏合体,它最少由一层波浪形芯纸夹层(俗称“坑张”、“瓦楞纸”、“瓦楞芯纸”、“瓦楞纸芯”、“瓦楞原纸”)及一层纸板(又称“箱板纸”、“箱纸板”)构成。具有良好的抗压强度和防震性能,能承受一定的压力、冲击和振动;重量轻,价格便宜,可以大规模生产多种尺寸,使用前储存空间很小,并能印刷各种图案,因此在制成品包装运输上得到广泛运用。
大规模生产中需对瓦楞纸板进行计数工作,但人工进行计数方法需要耗费大量时间,而且随着工作时间的增加,人工可能会因疲劳等产生计数误差。
计算机视觉识别是基于图像处理计数对瓦楞纸中纸板信息进行提取,但现有瓦楞纸识别算法主要有如下问题:
1、需预设瓦楞纸板参数,如宽度、间距等,这就对不同瓦楞纸板型号的识别产生不便;
2、由于瓦楞纸计数过程中可能会因诸多原因产生光照变化,但光照变化会导致预设参数变得不合理,因此可能造成对光照的敏感;
3、现有算法有提取瓦楞纸芯特征的方法、也有提取平坦纸的方法,但一方面瓦楞纸芯有数种类型,一种算法很难适应各种瓦楞纸芯,另一方面提取平坦纸的方法可能会因干扰,产生不正常检测;
4、现有算法易受因瓦楞纸板偏转、翘起、倾斜等产生的空隙、角度不统一、角度突变问题的影响,产生检测错误。
技术实现要素:
为了克服背景技术的不足,本发明提供一种基于骨架自校正的瓦楞纸板非监督提取方法,主要解决了现有的瓦楞纸板计数方法适应范围小、易误检、检测准确率低的问题。
本发明所采用的技术方案是:一种基于骨架自校正的瓦楞纸板非监督提取方法,包括如下步骤:
步骤1,读取图像:线阵相机在线获取待检测图像i,并将待检测图像i发送至计算机,计算机对待检测图像i进行读取计算,计算待检测图像的行数为nx,列数为ny;
步骤2,截取图像中roi:设定roi的宽度rw、roi区域的间距rp、roi区域个数rn,根据roi选取的这三个参数,以图像中心对称选取rn个roi;
步骤3,roi图像腐蚀:将若干roi转化为roi灰度图像,对roi灰度图像进行腐蚀操作,使用掩膜核为宽度ew、长度eh矩形;
步骤4,roi腐蚀图像二值化:对roi腐蚀图像使用大小为mw、mh的矩形,选取像素点(x,y)区域内中值m(x,y),而后使用阈值m(x,y)+te将roi腐蚀图像二值化,将大于m(x,y)+te像素的灰度设为255,将小于m(x,y)+te像素的灰度设为0,得roi腐蚀二值化图像;
步骤5,计算平坦纸宽度、瓦楞纸芯间距:对roi腐蚀二值化图像各列进行操作,得到灰度255的连通域起始坐标
步骤6,计算平坦纸宽度、瓦楞纸芯间距标准值:计算
步骤7,计算导数二值图像:首先对roi腐蚀二值化图像使用水平卷积运算及垂直卷积计算,得到两方向导数,而后计算获得导数图像g、角度图像a,对导数图像使用大小为mw、mh的矩形,选取像素点(x,y)区域内中值m1(x,y),而后使用阈值m1(x,y)+td将导数图像二值化,将大于m1(x,y)+td像素的灰度设为255,将小于m1(x,y)+td像素的灰度设为0;
步骤8,更新阈值te、td:判断lsta范围,如果lsta∈[0,ll],将阈值te、td减ξ、ζ,得到更新阈值te-ξ及td-ζ,进行步骤4,5,6重新得到lsta及dsta,其中ll表示合理宽度下限,ξ,ζ分别为阈值te、td更新步长;如果
步骤9,提取平坦纸骨架:对各列瓦楞纸芯间距进行处理,当
步骤10,提取平坦纸角度:根据步骤9得到的平坦纸骨架,以第一列寻找骨架起始点
步骤11,导数图像、roi腐蚀二值化图像投影:首先初始化角度,依据
步骤12,根据roi腐蚀二值化图像投影确定平坦纸位置:首先设置阈值0.3rw,如投影对应像素点数大于0.3rw,则该位置设置为255,如小于等于0.3rw,则设置为0;将此结果做为一幅nx×1图像,对该图像进行步骤9操作,所得结果即认为是平坦纸横坐标
步骤13,根据平坦纸位置、导数投影结果进行纸张计数:计算两相邻横坐标
所述步骤7中获得导数图像部分使用卷积核[-1,0,1]对水平方向及垂直方向做卷积运算,设得到水平、垂直卷积结果分别为
所述步骤8更新阈值te、td最多执行五次。
所述步骤9中当
所述步骤10中连通域提取采用八邻域提取方法,角度
所述步骤11中投影角度的取值方法为:
本发明的有益效果是:
1、计算平坦纸坐标、宽度、瓦楞纸芯间距,可以确认当前瓦楞纸板的基本信息,有利于瓦楞纸板计数;
2、使用数步自适应获得当前图像的二值化阈值及导数阈值,该方法不仅能适应当前光照情况,使得该算法对光照不敏感,且可以适应当前瓦楞纸板,以提升对不同型号瓦楞纸板的检测;
3、含有平坦纸骨架提取及骨架优化部分,相较传统骨架提取方法,该部分利用了算法得到的平坦纸宽度、瓦楞纸芯间距信息,可以自动滤除不合理骨架、补充漏检骨架,提升算法准确性;
4、对各平坦纸骨架计算角度,并选取其中可信角度进行保存,利用这些角度对给定范围腐蚀二值化图像、导数二值图像进行投影,可适应因瓦楞纸垛倾斜、翘起导致角度的变化,有较好的鲁棒性。
附图说明
图1为本发明的工作流程示意图。
图2为本发明的瓦楞纸板的结构示意图。
图3为本发明的roi腐蚀二值化图像及导数二值化图像。
图4为本发明的平坦纸骨架连通域提取示意图。
具体实施方式
下面结合附图对本发明实施例作进一步说明:
如图1—4所示,一种基于骨架自校正的瓦楞纸板非监督提取方法,包括如下步骤:
一种基于骨架自校正的瓦楞纸板非监督提取方法,包括如下步骤:
步骤1,读取图像:线阵相机在线获取待检测图像i,并将待检测图像i发送至计算机,计算机对待检测图像i进行读取计算,计算待检测图像的行数为nx,列数为ny;
步骤2,截取图像中roi:设定roi的宽度rw、roi区域的间距rp、roi区域个数rn,根据roi选取的这三个参数,以图像中心对称选取rn个roi;
步骤3,roi图像腐蚀:将若干roi转化为roi灰度图像,对roi灰度图像进行腐蚀操作,使用掩膜核为宽度ew、长度eh矩形;
步骤4,roi腐蚀图像二值化:对roi腐蚀图像使用大小为mw、mh的矩形,选取像素点(x,y)区域内中值m(x,y),而后使用阈值m(x,y)+te将roi腐蚀图像二值化,将大于m(x,y)+te像素的灰度设为255,将小于m(x,y)+te像素的灰度设为0,得roi腐蚀二值化图像;
步骤5,计算平坦纸宽度、瓦楞纸芯间距:对roi腐蚀二值化图像各列进行操作,得到灰度255的连通域起始坐标
步骤6,计算平坦纸宽度、瓦楞纸芯间距标准值:计算
步骤7,计算导数二值图像:首先对roi腐蚀二值化图像使用水平卷积运算及垂直卷积计算,得到两方向导数,而后计算获得导数图像g、角度图像a,对导数图像使用大小为mw、mh的矩形,选取像素点(x,y)区域内中值m1(x,y),而后使用阈值m1(x,y)+td将导数图像二值化,将大于m1(x,y)+td像素的灰度设为255,将小于m1(x,y)+td像素的灰度设为0;
步骤8,更新阈值te、td:判断lsta范围,如果lsta∈[0,ll],将阈值te、td减ξ、ζ,得到更新阈值te-ξ及td-ζ,进行步骤4,5,6重新得到lsta及dsta,其中ll表示合理宽度下限,ξ,ζ分别为阈值te、td更新步长;如果
步骤9,提取平坦纸骨架:对各列瓦楞纸芯间距进行处理,当
步骤10,提取平坦纸角度:根据步骤9得到的平坦纸骨架,以第一列寻找骨架起始点
步骤11,导数图像、roi腐蚀二值化图像投影:首先初始化角度,依据
步骤12,根据roi腐蚀二值化图像投影确定平坦纸位置:首先设置阈值0.3rw,如投影对应像素点数大于0.3rw,则该位置设置为255,如小于等于0.3rw,则设置为0;将此结果做为一幅nx×1图像,对该图像进行步骤9操作,所得结果即认为是平坦纸横坐标
步骤13,根据平坦纸位置、导数投影结果进行纸张计数:计算两相邻横坐标
所述步骤7中获得导数图像部分使用卷积核[-1,0,1]对水平方向及垂直方向做卷积运算,设得到水平、垂直卷积结果分别为
所述步骤8更新阈值te、td最多执行五次。
所述步骤9中当
所述步骤10中连通域提取采用八邻域提取方法,角度
所述步骤11中投影角度的取值方法为:
本发明的有益效果是:
1、计算平坦纸坐标、宽度、瓦楞纸芯间距,可以确认当前瓦楞纸板的基本信息,有利于瓦楞纸板计数;
2、使用数步自适应获得当前图像的二值化阈值及导数阈值,该方法不仅能适应当前光照情况,使得该算法对光照不敏感,且可以适应当前瓦楞纸板,以提升对不同型号瓦楞纸板的检测;
3、含有平坦纸骨架提取及骨架优化部分,相较传统骨架提取方法,该部分利用了算法得到的平坦纸宽度、瓦楞纸芯间距信息,可以自动滤除不合理骨架、补充漏检骨架,提升算法准确性;
4、对各平坦纸骨架计算角度,并选取其中可信角度进行保存,利用这些角度对给定范围腐蚀二值化图像、导数二值图像进行投影,可适应因瓦楞纸垛倾斜、翘起导致角度的变化,有较好的鲁棒性。
各位技术人员须知:虽然本发明已按照上述具体实施方式做了描述,但是本发明的发明思想并不仅限于此发明,任何运用本发明思想的改装,都将纳入本专利专利权保护范围内。