CN103020609B - 复杂纤维图像的识别方法 - Google Patents
复杂纤维图像的识别方法 Download PDFInfo
- Publication number
- CN103020609B CN103020609B CN201210588021.0A CN201210588021A CN103020609B CN 103020609 B CN103020609 B CN 103020609B CN 201210588021 A CN201210588021 A CN 201210588021A CN 103020609 B CN103020609 B CN 103020609B
- Authority
- CN
- China
- Prior art keywords
- point
- pixel
- value
- lines
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及图像处理技术领域,公开了一种复杂纤维图像的识别方法。为了能自动化对图像进行正确识别,提出了技术方案。其特征是:将彩色纤维数字图像转化为灰度数字图像;定义一个空白的二值图像;计算灰度数字图像中所有像素的方差;计算并标记全部的峰值点和谷值点;峰值点是边界点的,对二值图像中相同位置的像素值标记为1;特别认定同时满足a、b、c的峰值点是边界点:a.与该峰值点同样位置的二值图像中的像素,其像素值为0;b.该峰值点的大方差差值大于当前阈值;c.在该峰值点的8邻域点中,至少存在一个邻域点,在二值图像中,与此邻域点同样位置的像素,其像素值为1。有益效果:能快速、准确地进行纤维图像识别。
Description
技术领域
本发明涉及计算机图形图像处理技术领域,特别是涉及一种复杂纤维图像的识别方法。
背景技术
中国是纺织品生产和出口的大国,纺织业在我国现代化建设中起着举足轻重的作用。纺织品的原料主要有棉花、羊毛、羽毛、羽绒以及化学纤维等。如何测量纺织品中天然纤维的含量,辨别纺织品中天然纤维的真伪,以及检测纤维质量已经为纺织业中的重要课题。
目前鉴别纤维的主要方法有以下手感目测法、燃烧法、显微镜观察法、化学溶解法、药品着色法和熔点法。对于很多纺织品来说,常需要检测其中纤维的长度、纹理、截面面积、卷曲程度等信息来判断纺织品的质量。传统的方法已不能满足现代纤维检测和识别要求。在人工检测和识别纤维时,经常掺杂主观因素,而且工作量大,错误率高。随着图像处理的发展,数字图像处理技术已渗透入纺织业。因此,用计算机代替传统的手工劳动是必然趋势。只有实现对各种复杂纤维的自动识别,才可以提高鉴别纤维的速度和正确率。
目前,国内外有众多的科研院所,对纺织品中的纤维识别和参数计算开展了研究,相继得到了若干进展。1989年,苏格兰纺织学院的Robson等人首先提出利用计算机图像处理技术来分析山羊毛和羊绒纤维表面鳞片的特征。Yuksel Ikiz等通过采集纺织品纤维的图像,采用图像恢复、图像分割等技术,利用自相关函数对纤维图像进行处理,能有效检测出纤维样本的平均长度,有效长度和跨越长度等参数。Huapeng Wang设计了一个图像处理系统用来测量棉花纤维的长度。该系统首先利用集成通信技术产生纤维的灰度图像,并通过去燥、删除桥梁线条、获得纤维中轴线条,然后通过分析交叉点对中轴线进行校正,最后选择适当的控制点拟合出纤维,计算出纤维的长度。使用该算法对5组样本进行实验,错误率均在5%以下。张乐提出了利用距离变换的剥离算法对纤维进行识别,首先对获取的纤维横截面进行预处理,并对纤维的几何特征参数进行统计,然后利用支持向量机(SVM)对纤维分类和自动识别,以及对纤维的成分进行自动检测。
但是,实施上述方法取得较好效果的,其对象皆为简单、均一的纤维图像,即图像内部仅存在一根或两根纤维;而对于复杂的纤维图像,则存在识别精度不高等问题。
复杂纤维图像均在电子显微镜下拍摄得到,对其进行识别存在诸多的困难:一是纤维线条错综复杂,粗细不一,利用简单的边缘检测方法无法保证纤维的正确识别;二是为了便于计算机自动识别,需对检测后的二值图像作细化处理,以使每条纤维的两个边缘线条细化为单像素的宽度;三是图像中的纤维是交叉分布的,纤维线条存在断续的现象。所以在复杂纤维图像中,要使计算机能正确识别出完整的纤维,存在较大的难度。
发明内容
现有技术的计算机自动化识别方法,难以对复杂纤维图像正确识别出完整的纤维;本发明为了解决该技术问题,提出了以下的技术方案。
1.一种复杂纤维图像的识别方法,包括:准备步骤,二值化步骤,以及结束步骤;
所述的准备步骤包括2点:第1点,拍摄彩色纤维数字图像,再将该图像转化为256级灰度数字图像,然后把灰度数字图像输入到计算机待处理;第2点,定义一个与灰度数字图像大小一致的二值图像,该二值图像所有像素的初始值记为0,并将该二值图像存储在计算机内待用;
所述的二值化步骤包括以下的第一操作步骤、第二操作步骤、第三操作步骤和第四操作步骤:
第一操作步骤,计算灰度数字图像中所有像素的方差;
第二操作步骤,根据像素的方差情况,计算并标记全部的峰值点和谷值点;
第三操作步骤,对每一个峰值点进行是不是边界点的判断,如果是边界点,则依据灰度数字图像边界点的位置,对二值图像中相同位置的像素值标记为1;
所述的判断,其内容包括:1.设定用于进行比较的比较阈值,比较阈值的初始值为大于零的正整数;2.命名峰值点左方向最近的谷值点为左侧谷值点,命名峰值点右方向最近的谷值点为右侧谷值点;3.峰值点的方差减去左侧谷值点的方差得到左方差差值,峰值点的方差减去右侧谷值点的方差得到右方差差值,左方差差值和右方差差值相比较,其大者特别命名为大方差差值;4.如果大方差差值大于比较阈值的,峰值点是边界点,否则,峰值点不是边界点;
第四操作步骤,包括以下的第一分步、第二分步、第三分步和第四分步;
第一分步,设定步长和设定最小阈值;所述的步长,其设定为大于零的正整数且小于比较阈值的初始值;所述的最小阈值设定为大于零的正整数,并且,最小阈值加步长得到的和,其和小于或等于比较阈值的初始阈值;
第二分步,将比较阈值减步长得到当前阈值;
第三分步,寻找同时满足以下a、b、c三者的峰值点:
a.与该峰值点同样位置的二值图像中的像素,其像素值为0;
b.该峰值点的大方差差值大于当前阈值;
c.在该峰值点的8邻域点中,至少存在一个邻域点,在二值图像中,与此邻域点同样位置的像素,其像素值为1;
找到同时满足以上a、b、c三者的峰值点,将二值图像中同样位置的像素,其像素值标记为1;
第四分步,判别当前阈值大于或等于最小阈值吗?如果判别结果为是,则返回第四操作步骤中的第二分步;如果判别结果为否,则第四操作步骤结束,同时也是二值化步骤结束;
当上述的二值化步骤结束后,所述的方法进入结束步骤;结束步骤的工作内容包括输出二值图像。
本发明的有益效果是:
本发明方法,可以快速、准确地从错综复杂的纤维图像中识别出不同的纤维,解决了复杂纤维图像的识别问题,可广泛应用于纺织行业,有利于纺织业中各种纤维产品的质量、真伪的快速检测,具有较高的推广价值,市场前景广阔。
附图说明
图1是复杂纤维图像之一,本图为256级灰度数字图像;
图2是使用本发明方法对图1进行计算处理后获得的二值图像,
图3是3像素×3像素大小的邻域块示意图;
图4是一幅由众多像素构成的图像,图像具有256级灰度的性质;
图5是图4中的局部放大图,放大比例为5:1;
图6是表示某一纤维图像中沿水平方向某一行的方差分布图;图中的坐标,水平方向代表像素位置,垂直方向代表方差的幅值;
图7是方差计算公式;
图8是本发明方法的流程图之一,其对应的是总体技术方案;
图9是使用现有技术Roberts算子对图1进行计算处理后获得的二值图像;
图10是使用现有技术Sobel算子对图1进行计算处理后获得的二值图像;
图11是使用现有技术Prewitt算子对图1进行计算处理后获得的二值图像;
图12是内点的示意图,图中的目标像素点P点为白色,8邻域点P1、P2、P3、P4、P5、P6、P7、P8均为白色;
图13是孤立点的示意图,图中的目标像素点P点为白色,8邻域点P1、P2、P3、P4、P5、P6、P7、P8均为黑色;
图14是端点的示意图,图中的目标像素点P点为白色,8邻域点P1、P2、P3、P4、P5、P6、P7、P8中只有一个为白色;
图15是3像素×3像素邻域块的示意图之一;
图16是3像素×3像素邻域块的示意图之二;
图17是3像素×3像素邻域块的示意图之三;
图18是长度为256的查找表;
图19是本发明方法中的细化步骤流程示意图;
图20对图2进行边缘细化处理后的图像;
图21是毛刺的示意图,图中右侧线条上有向右下突起的毛刺;
图22是线条具有交叉点的示意图;
图23是删除毛刺和交叉点后的二值细化图像;
图24是说明去拐点情况所使用的示意图;
图25是说明补断修复情况所使用的示意图,本图左部示意的是补断修复前情况,本图右部示意的是补断修复后情况;
图26是八向链码借用八个箭头指向八个方向的示意图,图中的八个箭头的箭尾集中于同一点,相邻的箭头具有45°角度的角度差;
图27是是本发明方法的流程图之二;
图28是原始图像之一;
图29是计算机对图28进行自动化识别出纤维的图像;
图30是原始图像之二;
图31是计算机对图30进行自动化识别出纤维的图像;
图32是原始图像之三;
图33是计算机对图32进行自动化识别出纤维的图像;
图34是原始图像之四;
图35是计算机对图34进行自动化识别出纤维的图像;
图36是原始图像之五;
图37是计算机对图36进行自动化识别出纤维的图像;
图38是统计表,表中汇总了图29、图31、图33、图35和图37中正确识别出的纤维数;
图39是图25左部的局部放大图,放大比例为3:1,本图示意∠BAC和∠DCA。
下面结合附图和具体实施方式对本发明作进一步的详细说明。
具体实施方式
对本发明的方法,作总体的描述、说明和解释如下。首先,对本发明的方法作如下的总体描述。
本发明一种复杂纤维图像的识别方法,包括:准备步骤,二值化步骤,以及结束步骤;
所述的准备步骤包括2点:第1点,拍摄彩色纤维数字图像,再将该图像转化为256级灰度数字图像,然后把灰度数字图像输入到计算机待处理;第2点,定义一个与灰度数字图像大小一致的二值图像,该二值图像所有像素的初始值记为0,并将该二值图像存储在计算机内待用;
所述的二值化步骤包括以下的第一操作步骤、第二操作步骤、第三操作步骤和第四操作步骤:
第一操作步骤,计算灰度数字图像中所有像素的方差;
第二操作步骤,根据像素的方差情况,计算并标记全部的峰值点和谷值点;
第三操作步骤,对每一个峰值点进行是不是边界点的判断,如果是边界点,则依据灰度数字图像边界点的位置,对二值图像中相同位置的像素值标记为1;所述的判断,其内容包括:1.设定用于进行比较的比较阈值,比较阈值的初始值为大于零的正整数;2.命名峰值点左方向最近的谷值点为左侧谷值点,命名峰值点右方向最近的谷值点为右侧谷值点;3.峰值点的方差减去左侧谷值点的方差得到左方差差值,峰值点的方差减去右侧谷值点的方差得到右方差差值,左方差差值和右方差差值相比较,其大者特别命名为大方差差值;4.如果大方差差值大于比较阈值的,峰值点是边界点,否则,峰值点不是边界点;
第四操作步骤,包括以下的第一分步、第二分步、第三分步和第四分步;第一分步,设定步长和设定最小阈值;所述的步长,其设定为大于零的正整数且小于比较阈值的初始值;所述的最小阈值设定为大于零的正整数,并且,最小阈值加步长得到的和,其和小于或等于比较阈值的初始阈值;第二分步,将比较阈值减步长得到当前阈值;第三分步,寻找同时满足以下a、b、c三者的峰值点:a.与该峰值点同样位置的二值图像中的像素,其像素值为0;b.该峰值点的大方差差值大于当前阈值;c.在该峰值点的8邻域点中,至少存在一个邻域点,在二值图像中,与此邻域点同样位置的像素,其像素值为1;找到同时满足以上a、b、c三者的峰值点,将二值图像中同样位置的像素,其像素值标记为1;
第四分步,判别当前阈值大于或等于最小阈值吗?如果判别结果为是,则返回第四操作步骤中的第二分步;如果判别结果为否,则第四操作步骤结束,同时也是二值化步骤结束;
当上述的二值化步骤结束后,所述的方法进入结束步骤;结束步骤的工作内容包括输出二值图像。
上面,对本发明的方法作了总体的描述;下面,对上面的描述作说明和解释。
说明和解释一。
利用彩色电子显微镜摄入彩色纤维数字图像,再将该图像转化为256级灰度的数字图像(如图1所示),然后把256级灰度数字图像输入到计算机待处理。将彩色纤维数字图像转化为256级灰度的数字图像的方法可以如下:
在彩色图像中,每个像素的颜色由R(红色)、G(绿色)、B(蓝色)三个分量组成,每个分量有256个值可取,其最大值为255,其最小值为0,将像素的R、G、B三个分量值相加后、再除以3,得到该像素的平均值,最后视这一平均值为该像素的灰度值。对彩色纤维数字图像中的每个像素均使用上述方法可得到每个像素的平均值,从而得到每个像素的灰度值,最终可以将彩色纤维数字图像转化为256级灰度的数字图像。
以上的说明和解释一内容,是现有技术最常见的技术手段,书写的目的是为了给阅读者带来理解上的方便。
说明和解释二。
“定义一个与灰度数字图像大小一致的二值图像,该二值图像所有像素的初始值记为0”;所谓的大小一致是指:在横向上,二值图像与灰度图像具有相同数量的像素;在纵向上,二值图像与灰度图像也具有相同数量的像素,并且二值图像中所有像素的位置均与灰度图像中所有像素的位置一一对应。所谓的二值图像,也可称之为2级的二值图像,此种性质图像中的每一像素,要么是黑,要么是白。
说明和解释三。
在256级灰度数字图像中,纤维边界具有连续性的特点,以及方差分布具有规律性的特点,本发明利用这些特点,将256级灰度数字图像经特别处理后转化为二值图像。
说明和解释四。
计算灰度图像中所有像素的方差,其方法举例如下。
需要对灰度图像中的每一个像素计算方差,当对某一个像素进行方差计算的时候,此时可以暂称该像素为目标像素。
为了计算目标像素的方差,需要使用“邻域块”这一术语或概念。邻域块可以大一些、也可小一些,我们优先推荐使用3像素×3像素大小的邻域块,并以此为例进行说明。3像素×3像素大小的邻域块,如图3所示,该邻域块是由9个像素组成的矩阵,矩阵在水平方向上是3个像素,在垂直方向上也是3个像素;标号为P的是目标像素,在3像素×3像素构成的邻域块中,目标像素位于居中的位置,另有8个相邻像素围绕。
在3像素×3像素邻域块的情况下,欲求目标像素P的方差,其方法可以是:首先,是获知(或者称之为读取)邻域块内每一像素所对应的灰度值,也就是获知9个像素各自所对应的灰度值;其次,计算平均灰度值,即:把邻域块中9个像素的灰度值求和、然后除以9,得到平均灰度值;之后,将每个像素的灰度值减去平均灰度值得到差值,再对差值进行平方得到差值的平方,如此得到了9个差值的平方;接着,将9个差值的平方求和,再除以9、再开根号,最后得到目标像素P的方差。
图4是一幅由众多像素构成的图像,图像具有256级灰度的性质;其中,水平的像素为10个,垂直的像素为10个。图5是图4中的局部放大图,放大比例为5:1。
对于图4中黑底白字的P56像素而言,其求方差的方法如下:
第一,构成邻域块的9个像素分别为:P45、P46、P47、P55、P56、P57、P65、P66、P67,这9个像素对应的灰度值分别是:T(P45)、T(P46)、T(P47)、T(P55)、T(P56)、T(P57)、T(P65)、T(P66)、T(P67)。
第二,平均灰度值
上式中,9个灰度值相加后,然后再除以9,得到平均灰度值。
第三,P56像素的方差计算公式如下:
注:以上公式中的字号较小,为了便于阅读者看清,该公式还以放大了的字号绘制在图7中。
经上述公式计算得出P56像素的方差。
按照类似的方法,可以求得图4中P12,P13,……,P19;P22,P23,……,P29;……,P82,P83,……,P89像素的方差。
特别需要指出的是:对于位于图像最上侧、最下侧、最左侧和最右侧的像素的方差规定等于0,即图4中斜方格线所在的像素,它们的方差规定等于0。
在上述描述中,我们设定邻域块取3像素×3像素大小。但是,从理论上讲,也可以取4像素×4像素,或者取5像素×5像素,甚至取更大的邻域块,但从计算时间的角度考虑,取3像素×3像素大小邻域块比4像素×4像素或5像素×5像素等大小节省计算时间,还有,从像素相关性来说,某像素与它周围上、下、左、右、左上、左下、右上、右下8个像素的相关性最大,所以本发明从最优考虑出发,取3×3像素。
说明和解释五。
第二操作步骤,根据像素的方差情况,计算并标记全部的峰值点和谷值点,其方法如下。
按行从左向右扫描灰度图像,根据3种不同的情况分别予以处理:
情况1:当某像素的方差既大于其左侧相邻的像素方差、同时又大于其右侧相邻的像素方差,则将该像素点标记为峰值点。
情况2:当某像素的方差既小于其左侧相邻的像素方差、同时又小于其右侧相邻的像素方差,则将该像素点标记为谷值点。
情况3:出现的既不是情况1的、也不是情况2的,而是其他排除了情况1和情况2后的任何其他情况的,则该像素点既不标记为峰值点、也不标记为谷值点。
说明和解释六。
《权利要求书》记载了:“第三操作步骤,对每一个峰值点进行是不是边界点的判断,如果是边界点,则依据灰度数字图像边界点的位置,对二值图像中相同位置的像素值标记为1;所述的判断,其内容包括:1.设定用于进行比较的比较阈值,比较阈值的初始值为大于零的正整数;2.命名峰值点左方向最近的谷值点为左侧谷值点,命名峰值点右方向最近的谷值点为右侧谷值点;3.峰值点的方差减去左侧谷值点的方差得到左方差差值,峰值点的方差减去右侧谷值点的方差得到右方差差值,左方差差值和右方差差值相比较,其大者特别命名为大方差差值;4.如果大方差差值大于比较阈值的,峰值点是边界点,否则,峰值点不是边界点。”对于前述的记载,下面结合附图再作更详尽的说明和解释。
图6表示256级灰度数字图像中沿水平方向某一行的方差分布图;图6中的坐标,水平方向代表像素位置,垂直方向代表方差的幅值。在检测边缘时,事先设置比较阈值Th0。对于图6中的峰值点A点,记A点方差为VarA,再寻找位于A点左或右方向的第一个谷值点,如图6中,与峰值点A点相邻的左边的第一个谷值点是B点,右边的第一个谷值点是C点,记B点方差为VarB,记C点方差为VarC,从图6中可见,VarC<VarB,则求峰值点A点与谷值点C点的方差差值diffvar=VarA-VarC。
当diffvar>Th0,则认为A点为边界点,Vpeak值记为1(说明:Vpeak值是二值图像中A点对应位置像素的值)。当diffvar≤Th0,则认为A点不是边界点,Vpeak值记为0。
以上的介绍中,Th0是比较阈值。在不同的情况下,比较阈值的具体大小可以视情况而决定。
当比较阈值Th0取值较大时,图6中的其它峰值点,如D点、E点和F点,由于它们均不满足diffvar大于Th0这一条件,所以这些点在二值图像中所对应位置像素的值Vpeak值也均记为0。反之,当Th0取值较小时,图6中的其它峰值点,如D点、E点和F点,由于它们均满足diffvar大于Th0这一条件,所以这些点在二值图像中所对应位置像素的值Vpeak值也均记为1。
按上述方法,对256级灰度数字图像中所有像素分别沿行方向从左向右寻找峰值点,一旦找到峰值点后,再寻找位于该峰值点向左方向的第一个谷值点,记该谷值点的方差为VarL,再寻找位于该峰值点向右方向的第一个谷值点,记该谷值点的方差为;VarR如果VarL<VarR,则求该峰值点与向左方向的第一个谷值点的方差VarL的差值diffvar;如果VarL≥VarR则求该峰值点与向右方向的第一个谷值点的方差VarR的差值diffvar。
设置比较阈值Th0的数值大小(比如:比较阈值Th0设置为20),当峰谷间的方差差值diffvar大于Th0,则该峰值点被看作边界点,Vpeak值记为1,当峰谷间的方差差值diffvar小于或等于Th0,则该峰值点不被看作边界点,Vpeak值记为0。如果某一峰值点的Vpeak为1时,则在二值图像中,将与该峰值点位置相同的像素点的值记为1。
说明和解释七。
《权利要求书》记载了:“第四操作步骤,包括以下的第一分步、第二分步、第三分步和第四分步;第一分步,设定步长和设定最小阈值;所述的步长,其设定为大于零的正整数且小于比较阈值的初始值;所述的最小阈值设定为大于零的正整数,并且,最小阈值加步长得到的和,其和小于或等于比较阈值的初始阈值;第二分步,将比较阈值减步长得到当前阈值;第三分步,寻找同时满足以下a、b、c三者的峰值点:a.与该峰值点同样位置的二值图像中的像素,其像素值为0;b.该峰值点的大方差差值大于当前阈值;c.在该峰值点的8邻域点中,至少存在一个邻域点,在二值图像中,与此邻域点同样位置的像素,其像素值为1;找到同时满足以上a、b、c三者的峰值点,将二值图像中同样位置的像素,其像素值标记为1;第四分步,判别当前阈值大于或等于最小阈值吗?如果判别结果为是,则返回第四操作步骤中的第二分步;如果判别结果为否,则第四操作步骤结束,同时也是二值化步骤结束,输出二值图像。”对于前述的记载,下面结合附图再作更详尽的说明和解释。
先设定最小阈值Thmin(如设置为5)和设定步长step(如设置为1)。
然后进行下面有条件的循环作业。
循环作业的第一步:将比较阈值Th0的值减去步长step得到当前阈值Th1。
对256级灰度的数字图像中的所有像素沿水平方向寻找同时满足下列三个条件的峰值点:
条件1,该峰值点的值Vpeak为0;本条件1的意义在于排除Vpeak为1的像素点,从而避免重复计算。
条件2,该峰值点的大方差差值大于当前阈值,即该峰值点满足diffvar>Th1;
条件3,在该峰值点的8邻域点中,至少存在一个邻域点,该邻域点在二值图像中的值被标记为1。注:何谓8邻域点,以图3为例进行说明,如果峰值点为图中的P点,那么8邻域点就是图中的P1,P2,P3,P4,P5,P6,P7和P8。
当找到同时满足上述三个条件的峰值点后,将二值图像中,与峰值点位置一致的像素点的值记为1,该峰值点的值Vpeak记为1。
当作业至此时,判断当前阈值是否大于等于最小阈值Thmin。如果当前阈值大于最小阈值或者如果当前阈值等于最小阈值,则再返回到上述“循环作业的第一步”处,重新进行循环作业;如果当前阈值小于最小阈值,则前提条件改变了,作业结束、不再循环。如此,第四操作步骤结束,同时也是二值化步骤结束;其后是输出二值图像。
说明和解释八。
前面,对本发明的方法作了总体的描述、说明和解释。下面,再对本发明总体技术方案的优越之处进行技术分析和归纳总结。
图8是本发明的流程框图之一,其对应的是总体技术方案。
本发明利用256级灰度数字图像中位于纤维边界的像素的方差较大,位于纤维非边界的像素的方差较小的特点,先求出灰度图像中各像素的方差,接着利用方差找到峰值点和谷值点,再求出峰值点与谷值点的方差差值。
当该方差差值大于阈值,则灰度图像中对应位置的像素值记为1,其图像上的意义是该像素位于纤维边界;当该方差差值小于或等于阈值,则灰度图像中对应位置的像素值记为0,其图像上的意义是该像素不在纤维边界上。通过该方法对所有的像素点进行处理,最后可以将灰度图像转化为二值图像。
本发明还利用纤维边界连续性的特点,在第四操作步骤中,通过有条件的循环作业,渐次变小当前阈值,将原本不能完全满足条件的临界性质的像素,变得可以满足所需的条件,并对像素值记为1;通过该步骤,可以达到纤维边界连续的目的。
图2是使用本发明方法对图1进行计算处理后获得的二值图像。
图9是使用现有技术Roberts算子对图1进行计算处理后获得的二值图像。
图10是使用现有技术Sobel算子对图1进行计算处理后获得的二值图像。
图11是使用现有技术Prewitt算子对图1进行计算处理后获得的二值图像。
上述Roberts算子、Sobel算子和Prewitt算子,它们均为边缘检测算子,具体方法可参考文献:陈天华,《数字图像处理》,清华大学出版社,2007.6。
在图像处理中,现有技术一般使用Roberts算子、Sobel算子和Prewitt算子将灰度图像转化为二值图像,但从图9、图10和图11中可以看出,利用Roberts算子、Sobel算子和Prewitt算子无法检测出纤维微弱的边缘,即二值图像中不能反映较多的边缘信息,遗漏了大量微弱信号的纤维边缘。
从图2中可见,利用本发明提出方法对256级灰度数字图像进行边缘检测,尽管边缘曲线有一定的宽度,但反映较多的边缘信息,并能检测出纤维微弱的边缘,同时具有一定的抗噪能力,能正确检测出纤维的边缘,因此体现了本发明技术的优越性。
上面,对本发明的方法作了总体的描述、说明和解释。下面,对本发明中的各进一步技术方案分别作描述、说明和解释。
进一步的技术方案1。
技术方案描述。所述的方法包括:准备步骤,二值化步骤,细化步骤,以及结束步骤;所述的细化步骤,其安排在第四操作步骤和结束步骤之间;所述的细化步骤,其总体工作目的是:将二值图像中可以删除的白色像素点删除掉,从而使边缘线条变为单像素宽度,其同时带来的好处是减少了线条毛刺;所述的白色像素点就是数值为1的像素点;所述的细化步骤,其具体工作内容包括:保留内点,保留端点,保留增加连通分量的边界点,删除孤立点,以及删除不增加连通分量的边界点;所述的细化步骤,其设置3像素×3像素的邻域块;所述的邻域块,其中央为目标像素,其四周围绕的是8个相邻像素;每个相邻像素的值,在不同的具体情况下或为1或为0,8个相邻像素值的排列组合有256种情况;所述的细化步骤,其预先构造一个具有256个元素的一维数组;元素下标从0开始至255为止;每一个元素的下标,其对应的元素具有明确的元素值,并且,元素值为0的,代表删除目标像素,元素值为1的,代表保留目标像素;所述的一维数组保存在计算机内;每一目标像素所对应的元素下标,是依据8个相邻像素值的情况再通过计算后获得;得知元素下标就可从保存在计算机内的一维数组中获知元素值,并根据元素值删除目标像素或保留目标像素,最终实现细化目的;所述的计算,其计算公式如下:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27;
一轮细化后,需要重新对二值图像中的全部白色像素点进行检查,当存在可以被细化的白色像素点的情况下,需要进行新一轮的细化工作;只有在没有可以被细化的白色像素点的情况下,细化步骤才结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
对以上描述的技术方案,说明和解释如下。
本细化步骤的技术方案,可以参见图19进行理解;图19是本发明方法中的细化步骤流程示意图。
经边缘检测获得的二值纤维图像,每条边缘往往有多个像素宽度,需要依据每一个边缘点的8邻域点情况作细化。
在细化的过程中,需要寻找的目标像素点是白色的(像素值为1),细化后,目标像素点可能维持不变,也可能被删除而成为黑色的(黑色的像素值为0)。那么,白色的目标像素点细化后,究竟是予以保留还是进行删除,其决定的依据如下:
(1)内点不能删,即其8邻域点都是白色的点不能删。
(2)孤立点可以删。
(3)纤维边缘的端点不能删除。
(4)如果P是边界点,去掉P后,如果连通分量不增加,则P可以删除。
关于8邻域点、内点、孤立点、端点以及连通分量,说明如下。
何谓8邻域点?以图3为例进行说明,如果目标像素点为图中的P点,那么8邻域点就是图中的P1,P2,P3,P4,P5,P6,P7和P8。
图12中,P点为白色,P点的8邻域点P1、P2、P3、P4、P5、P6、P7、P8均为白色,则称P点为内点。
图13中,P点为白色,P点的8邻域点P1、P2、P3、P4、P5、P6、P7、P8均为黑色,则称P点为孤立点。
图14中,P点为白色,P点的8邻域点P1、P2、P3、P4、P5、P6、P7、P8中只有一个为白色,即P6为白色,则称P点为纤维边缘的端点。
连通分量是指在二值图像中,互相连通的白色像素点(像素值为1)的集合。如果P是边界点,去掉P后,导致由白色像素点构成的集合个数增加,即连通分量增加,则P不可以删除;反之,如果P是边界点,去掉P后,由白色像素点构成的集合个数不增加,即连通分量不增加,则P可以删除。
根据上述判据,因为在3像素×3像素邻域块的情况下,目标像素P有8个相邻的像素,每个相邻的像素的值为1或0,因此,8个相邻像素的值,其或1或0的变化有256种可能。故在细化前,预先构造一个具有256个元素的一维数组,数组下标从0开始,每个数组元素值为0或1,根据每个白点的8邻域点情况计算数组元素值,若数组中的元素值为0,则表示目标点P点可删除,即将目标点P点标记为0,否则P点标记为1。
下面举例进行说明,说明分<1>、<2>、<3>和<4>共四个部分进行。
<1>根据P点的8邻域点情况计算索引值I:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27
其中P1,…,P8为P点8邻域点的8个像素值,黑点取0,白点取1,则索引值取值为0到255,共有256种情况。
上述的256种情况,其每一具体情况中的邻域点像素值,或是为1、或是为0;在本发明中,将该256种情况一一进行排序,并给每一具体情况赋予一个具体的索引号;每一种情况均事先经分析、判断而给出了目标像素值是0还是1的结果;所以知道了索引号就知道了目标像素值是0还是1。目标像素值是0的,意味着去除原先的白点;目标像素值是1的,意味着保留原先的白点。另外,为了更好地发挥计算机的优势,索引号由计算机通过计算获得索引值I而得知。
<2>依据索引值构造一个具有256个元素的一维数组,下标分别与像素的索引值I一一对应,设数组中元素的值为0表示目标点P点删除,数组中元素的值为1表示目标点P点保留;前述删除的意义是白色变为黑色,前述保留的意义是白色依然维持白色。该数组构成了一个长度为256的查找表,为方便查找,本发明按上述细化依据,直接给出了查找表数值;图18是长度为256的查找表。
下面举例说明三个索引值1、200、255所对应的查找表中的值,是如何得出的。
例如:如图15所示的3像素×3像素邻域块中,目标点为P点,P点和P1为白点,其余的P2,…,P8均为黑点,故P1取1,P2,…,P8均取0,按公式计算:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27
得到I=P1×20=1×20=1,所以,对于图15的图形,其索引值为1。而按上述细化的依据,因为P点为纤维边缘的端点,故按细化依据(3):纤维边缘的端点不能删除,故该点不能删除,所以查找表中的值是1。
又如:如图16所示所示的3像素×3像素邻域块中,目标点为P点,P点和P4、P7、P8为白点,P1、P2、P3、P5、P6为黑点,故P4、P7、P8取1,P1、P2、P3、P5、P6均取0,按公式计算:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×2 7
得到I=P4×23+P7×26+P8×27=1×23+1×26+1×27=200,所以,对于图16所示的图形,其索引值为200。而按上述细化的依据,因为P是边界点,去掉P后,连通分量不增加,符合细化依据(4):如果P是边界点,去掉P后,如果连通分量不增加,则P可以删除,故P点可以删除,所以查找表中的值是0。
再如:如图17所示的3像素×3像素邻域块中,目标点为P点,P点的8邻域点P1,…,P8均为白点,故P1,…,P8取1,按公式计算:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27
得到I=1×20+1×21+1×21+1×21+1×21+1×21+1×21+1×21=255,所以,对于图17所示的图形,其索引值为255。而按上述细化的依据,因为P是内点,符合细化依据(1):内点不能删,即其8邻域点都是白色的点不能删,故P点不能删除,所以查找表中的值是1。
<3>分别按从左到右和从上到下顺序逐行扫描二值纤维图像,对于像素点是白色的(即像素点的数值是1的),则需作如下的进一步判断处理:首先根据像素点的8邻域点像素值计算索引值,然后将此索引值作为数组下标,同时确定其查找表中的值,如果查找表中的值是0,则将该像素点的数值修改为0,如果查找表中对应位置的数值是1,则像素点的数值依然保留为1。
<4>二值纤维图像扫描和细化工作,它们是否进入结束,以下面的方法为依据:
二值纤维图像扫描中出现的白色像素点,如果在本轮细化时出现被删除情况的,则在白色像素点删除后,必须再重新进行一轮二值纤维图像扫描和细化工作。
只有当二值纤维图像扫描中出现的所有白色像素点、在细化时都不能被删除的时候,二值纤维图像扫描和细化才能进入结束。
本发明的细化方法实现简单,由于事先构造查找表,无需利用模板进行匹配计算,提高了细化的执行效率。图20使用本发明细化步骤方法对图2进行边缘细化处理后的图像。从图中可见,使用本发明方法细化后的边缘线条均为单像素宽度,且线条毛刺较少,畸变和扭曲较小,基本符合细化的要求。这样为后续纤维边界的特征点提取、纤维边界的匹配和识别工作提供了较好的基础。
以下,再通过四个具体的例子予以说明。
第一个例子是,目标点是内点;所谓的内点是指:当目标点和它的8邻域点均为白点的情况时,该目标点为内点。在图12中,目标点P点为内点,P点的8邻域点P1,…,P8均为白点,故P1,…,P8均取1,按照下列公式:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27
经计算得出:索引值I等于255,对应查找表的数值为1,不为0,所以处置为对该点予以保留。
从图像意义上来讲,当P点为内点时,则保留P点,不删除P点。
第二个例子是,目标点是孤立点;所谓的孤立点是指:当目标点为白点,它的8邻域点均为黑点的情况时,该目标点为孤立点。在图13中,目标点P点为孤立点,P点的8邻域点P1,…,P8均为黑点,故P1,…,P8均取0,按照下列公式:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27
经计算得出:索引值I等于0,对应查找表的数值为0,不为1,所以处置为对该点予以删除。
从图像意义上来讲,当P点为孤立点时,应该删除P点,不予保留。
第三个例子结合图14进行说明。目标点P点为纤维边缘的端点,P点的邻域点中,除了P6为白色外,其余7个邻域点均为黑色,故P6取1,P1,P2,P3,P4,P5,P7,P8均取0,按照下列公式:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27,
计算索引值I等于32,对应查找表的数值为1,则保留目标像素点P点。从该结果可以看出,当P点为纤维边缘的端点时,则保留P点。
从图像意义上来讲,当P点为纤维边缘的端点,则保留P点,不删除P点。
进一步的技术方案2。
技术方案描述。所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、以及结束步骤;所述的去毛刺步骤包括:设定用于判别是否为毛刺的毛刺阈值,设定用于检查毛刺长度的长度计数器,以及执行去毛刺工序;所述的毛刺阈值为整数,其最小为15,其最大为35;所述的执行去毛刺工序是:按从上到下,从左到右扫描细化后的二值图像,如果像素点的数值为1且其8邻域点中只有一个像素点数值为1,则该像素点暂定为毛刺端点,标记该点;对每一个暂定为毛刺端点的像素点作如下进一步处理:a.以暂定的毛刺端点为目标像素点,沿该点跟踪搜索其邻域点,同时将长度计数器数值清“0”;b.若搜索到一个数值为1的邻域点,则将此邻域点作为当前目标像素点,然后再判断当前目标像素点是不是交叉点、以及是不是分叉点;如果是交叉点的,则停止本目标像素点的处理工作,并转跳到d处;如果是分叉点的,删除该线段,即:在二值图像中将线段经过的像素点的数值标记为0,然后转跳到d处;如果既不是交叉点、又不是分叉点的,转入以下的c;c.将长度计数器值累加1,并检查长度计数器的值是否大于毛刺阈值?如果大于毛刺阈值的,则停止本目标像素点的处理工作,并转入到d处;如果不大于毛刺阈值的,记录当前目标像素点,然后从当前目标像素点出发,回到以上的b处,进行新一轮的循环作业;d.检查在二值图像中,还有没有暂定为毛刺端点的像素点,如果有的,则回到a继续进行处理,如果没有了,则去毛刺步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
对以上描述的技术方案,说明和解释如下。
图像经细化后会产生毛刺(如图21所示),毛刺的存在会影响识别结果,所以,应删除毛刺。毛刺可以定义为:毛刺的一端是线段端点,另一端是分叉点,且毛刺的长度很短,比如:可取进行判断的毛刺阈值为25,即长度超过25的不是毛刺。也可以将毛刺阈值取为20或30等。
根据以上对毛刺的定义,可以按上面的描述的技术方案,实施去毛刺步骤的工作。
进一步的技术方案3。
技术方案描述。所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、删除交叉点步骤、以及结束步骤;所述的删除交叉点步骤中,约定T(P)为目标像素点P的像素值,约定T(P1)、T(P2)、T(P3)、T(P4)、T(P5)、T(P6)、T(P7)、T(P8)为P点8邻域点的8个像素值;所述的删除交叉点步骤包括依序执行的第1工序和第2工序;所述的第1工序,其任务是寻找交叉点,其方法是考察二值图像,若某一目标像素点同时满足以下两项要求的,则该像素点被视为交叉点:
(1)T(P)=1;
(2)T(P1)+T(P2)+T(P3)+T(P4)+T(P5)+T(P6)+T(P7)+T(P8)≥3;
所述的第2工序是,对于被认定为是交叉点的目标像素点,则将该点以及其8邻域点的像素值都置为0;当所有的交叉点被处理完毕后,则删除交叉点步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
对以上描述的技术方案,说明和解释如下。
在错综分布的纤维图像中,往往有许多不同宽度和长度的纤维缠绕,要正确识别,必须删除交叉点,图22是线条具有交叉点的示意图。
在技术方案中,T(P)=1,代表目标像素点P,其像素值为1,是白点;
T(P1)+T(P2)+T(P3)+T(P4)+T(P5)+T(P6)+T(P7)+T(P8)≥3,代表在8邻域点的8个像素中,3个或3个以上的像素值为1,即3个或3个以上的像素点是白点。
如果技术方案中的(1)和(2)同时得到满足,则说明目标像素点为交叉点,应该将目标像素点P的像素值及其8邻域点的全部像素值都置为0。像素值置为0,其意义就是全部变黑点。
图23是删除毛刺和交叉点后的二值细化图像;将图23和图20进行对比观察,从而可以看到删除毛刺和删除交叉点后的图像效果。
进一步的技术方案4。
技术方案描述。
所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、去拐点步骤、以及结束步骤;所述的去拐点步骤包括:去拐点前置工序和去拐点操作工序;所述的去拐点前置工序包括以下的a、b和c:
a.设定长度阈值为2L+1,默认目标线条的前L个点中没有拐点;b.设定用于判别拐点的角度阈值,角度阈值设置的范围是140°角度~160°角度;c.设定第一数组和第二数组;第一数组fiberi(KOUNT,Z),其保存的是线条在二值图像中的x坐标信息;第二数组fiberj(KOUNT,Z),其保存的是线条在二值图像中的y坐标信息;Z为线条的编号数;
所述的去拐点操作工序,其处理的总线条数量为Z,即:从1号线条开始至Z号线条为止,逐条进行处理;去拐点操作工序包括以下的A、B、C、D、和E:
A.取出新的当前线条信息;B.判断当前线条长度大于或等于长度阈值2L+1吗?若判断结果为否的,本线条的处理工作结束,回到以上的A;若判断结果为是的,转入以下的C;C.从线条的第L个点开始依次向线条尾部寻找拐点;所述的第L个点,其从线条头部的端点开始往尾部方向依序排列在第L的位置;D.线条中没有找到拐点的,则转入E;线条中找到拐点的,则删除拐点,也就是在二值图像中将拐点本身的像素点值以及它的8邻域点像素点值全部置为0,然后转入E;E.判断全部的线条处理完毕了吗?若结果为否的,则回到以上的A处;若结果为是的,则去拐点步骤完毕,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
线条上的当前点是否为拐点,其判断方法如下:
以当前像素点为第二点,从当前像素点出发沿线条并朝向线条头部方向数L个像素为第一点,再从当前像素点出发沿线条并朝向线条尾部方向数L个像素为第三点,连接第一点和第二点为第一线条,连接第三点和第二点为第二线条,判断第一线条和第二线条形成的夹角,其内角是否小于或等于角度阈值,小于或等于角度阈值的,当前像素点为拐点,否则不是拐点;
对以上描述的技术方案,说明和解释如下。
拐点在数学上指改变曲线向上或向下方向的点。由于纤维图像中,各条纤维交错分布,两条交叉在一起的纤维会形成拐点,如果保留拐点,则会影响自动识别结果,所以,要删除拐点。
本发明中删除拐点主要是基于角度的计算,如图24所示为一条纤维边缘线段,若∠ABC大于某阈值,则视B点为拐点。举下面的实施例进行说明。
所述的去拐点步骤包括:去拐点前置工序和去拐点操作工序;
所述的去拐点前置工序包括以下的a、b和c,
a.设定长度阈值为2L+1,L取值为10,默认目标线条的前10个点中没有拐点;
b.设定用于判别拐点的角度阈值,角度阈值设置为150°角度;
c.设定第一数组和第二数组;第一数组fiberi(KOUNT,Z),其保存的是线条在二值图像中的x坐标信息;第二数组fiberj(KOUNT,Z),其保存的是线条在二值图像中的y坐标信息;Z为线条的编号数。也就是讲,第一数组和第二数组保存了二值图像全部线条的x坐标和y坐标的信息,全部线条的总数量为Z条。
比如,第一个线条头部的端点作为第一个线条的第一个点,该点的x坐标记录为fiberi(l,1),该点的y坐标记录为fiberj(l,1);又比如,第一个线条上的第m个点,该点x坐标记录为fiberi(m,1),该点y坐标记录为fiberj(m,1)。
去拐点操作工序要处理的总线条数量为Z,即:从1号线条开始至Z号线条为止,逐条进行处理。
去拐点操作工序包括以下的A、B、C、D、和E:
A.取出新的当前线条信息;
B.判断当前线条长度大于或等于长度阈值21(2L+1=2×10+1)吗?若判断结果为否的,本线条的处理工作结束,回到以上的A;若判断结果为是的,转入以下的C;
C.从线条的第10(L=10)个点开始依次向线条尾部寻找拐点;所述的第10个点,其从线条头部的端点开始往尾部方向依序排列在第10的位置;
D.线条中没有找到拐点的,则转入E;
线条中找到拐点的,则删除拐点,也就是在二值图像中将拐点本身的像素点值以及它的8邻域点像素点值全部置为0,然后转入E;
E.判断全部的线条处理完毕了吗?若结果为否的,则回到以上的A处;若结果为是的,则去拐点步骤完毕,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
上述情况中,线条上的当前点是否为拐点,其判断方法如下:
结合图24进行说明。以当前像素点为第二点(图24中的B点),从当前像素点出发沿线条并朝向线条头部方向数10个像素为第一点(图24中的A点),再从当前像素点(图24中的B点)出发沿线条并朝向线条尾部方向数10个像素为第三点(图24中的C点),连接第一点(A点)和第二点(B点)为第一线条(AB线条),连接第三点(C点)和第二点(B点)为第二线条(BC线条),判断第一线条(AB线条)和第二线条(BC线条)形成的夹角,其内角是否小于或等于角度阈值150°角度,小于或等于角度阈值150°角度的,当前像素点为拐点,否则不是拐点。
为了更加清楚的说明情况,继续进行解释。在图24中,当前点为B,是第一条线条的第m个点,其x方向的坐标为fiberi(m,1)、其y方向的坐标为fiberj(m,1);A点的x坐标是fiberi(m-10,1)、y坐标是fiberj(m-10,1);C点的x坐标是fiberi(m+10,1)、y坐标是fiberj(m+10,1)。前面括号中的m、m+10、m-10均为序号意义上的标号。在得知各点的坐标后,计算机很方便地计算得出AB连线、BC连线以及AC连线该三根连线的长度,由此,再根据余弦定理求∠ABC的角度:
若∠ABC小于或等于角度阈值150°角度,则认为点B为拐点,则删除B点,也就是将点B和其8邻域点的像素值全部置为0。
进一步的技术方案5。
技术方案描述。
所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、补断修复步骤、以及结束步骤;所述的补断修复步骤包括依序进行的前置工序和修补工序;所述的前置工序包括如下的A和B作业:
A.扫描整个二值图像,对于长度小于10的线段不作处理,统计长度大于或等于10的全部线段的数量,并约定以number代表该全部数量,另外约定以count表示线段的长度;
B.将线段中每一个点,按x坐标和y坐标分别存入,即把全部长度大于或等于10的线段坐标信息分别存入fiberi(count,number)和fiberj(count,number)的两个数组中,其中,fiberi(count,number)数组中保存的是x坐标信息,fiberj(count,number)数组中保存的是y坐标信息;
所述的修补工序包括以下的具体工作:
a.设定补断距离,并确定补断距离的初始值;设定最大补断距离;设定步长数值;设定角度阈值的数值;
b.从线段的当前端点出发,搜寻其他端点,寻找到的其他端点必须满足与当前端点的距离小于或等于补断距离;
如果能够满足的,转入以下的c处;如果不能满足的,则转跳至以下的d处;
c.计算当前端点所构成的当前角度,计算其他端点所构成的其他角度,比较当前角度和其他角度,判断其小者是否大于或等于角度阈值;
上述判断为是的,则将当前端点和其他端点补断连接起来,然后转入d;上述判断为否的,直接转入d;
d.在当前补断距离的情况下,判断还有需要补断的吗?如果存在还有需要补断的,则返回以上的b处,如果不存在还需要补断的,则进入以下的e处;
e.将补断距离与步长相加后得到新的补断距离;判断新的补断距离是否大于最大补断距离?
如果上述判断结果为否的,返回以上的b处;
如果上述判断结果为是的,则补断修复步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
对以上描述的技术方案,说明和解释如下。
前置工序包括如下的A和B作业:
A.扫描整个二值图像,从左到右,逐行扫描。对于长度小于10的线段不作处理,统计长度大于或等于10的全部线段的数量,并约定以number代表该全部数量,另外约定以count表示线段的长度;
B.将线段中每一个点,按x坐标和y坐标分别存入,即把全部长度大于或等于10的线段坐标信息分别存入fiberi(count,number)和fiberj(count,number)的两个数组中,其中,fiberi(count,number)数组中保存的是x坐标信息,fiberj(count,number)数组中保存的是y坐标信息。
修补工序包括以下的具体工作:
a.设定补断距离,并确定补断距离的初始值;例如,补断距离的初始值为10。设定最大补断距离,例如,最大补断距离250。设定步长数值。设定角度阈值的数值,例如,角度阈值设置为165°角度。
b.从线段的当前端点出发,搜寻其他端点,寻找到的其他端点必须满足与当前端点的距离小于或等于补断距离。
在上述条件的情况下,结合图25继续进行说明。
从第一条边缘线段的端点(本进一步技术方案中,取每条线段的第一个点)出发,搜寻所有与此端点距离小于10的端点。如图25左部所示,从A点出发,搜寻到的端点C,并且A点到C点为距离8,未超过补断距离的初始值(10);A点所在的线段长度超过10,C点所在的线段长度也超过10,线段长度符合相关要求。
然后,利用余弦定理分别求得∠BAC的角度和∠DCA的角度,取两者之中的较小角度与角度阈值(165°角度)比较,如果该角度小于角度阈值,则说明这两条线构成的夹角过小,不做补断操作,否则进行补断。补断后的情况如图25右部所示。
图39是图25左部内容的局部放大图,放大比例为3.5:1;从图39中可以得知∠BAC和∠DCA在图像上和数学计算上的含义。另外,从图39中所示的情况而言,∠DCA小于∠BAC,则取∠DCA和∠BAC两者之中较小的角度,即取∠DCA与角度阈值(165°角度)比较。
进一步的技术方案6。
技术方案描述。
所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、补断修复步骤、同一纤维的识别步骤、以及结束步骤;
所述的同一纤维包括两条边缘线条,即包括第一边缘线条和第二边缘线条,该两条边缘线条的曲率具有一定的相似性,所述的同一纤维的识别步骤利用该相似性进行识别工作,其具体作业如下:
所述的识别步骤,引入八向链码的概念;所述的八向链码,其包括由八个箭头所指向的八个方向,八个箭头的箭尾集中于同一点,相邻的箭头具有45°角度的角度差;
所述的识别步骤,设置判别工作使用的最粗纤维宽度,设置门限值;
在二值图像中,获取第一边缘线条及其链码,并判断第一边缘线条是左右走向还是上下走向;第一边缘线条为左右走向的,其搜索第二条边缘线条及其链码的范围是:以第一边缘线条为基础,在y坐标方向上,向上及向下各拓宽一个最粗纤维宽度;第一边缘线条为上下走向的,其搜索第二条边缘线条及其链码的范围是:以第一边缘线条为基础,在x坐标方向上,向左及向右各拓宽一个最粗纤维宽度;
在上述范围内找到拟似的第二条边缘线条及其链码的,则将第一边缘线条的链码和拟似的第二边缘线条的链码进行逐个比较,并找出最大匹配值中的最大值;当最大匹配值中的最大值大于门限值时,拟似的第二边缘线条即为确定的第二边缘线条,换言之,拟似的第二条边缘线条和第一条边缘线条同属同一根纤维。
对以上描述的技术方案,说明和解释如下。
本技术方案可参见图27,了解基本的使用流程。
本发明利用链码记录纤维边界。链码是一种边界的编码表示法,它用曲线边界点的方向代码来描述曲线或边界的方法。常用的链码按照中心像素点邻接方向个数的不同,分为四向链码和八向链码,四向链码的邻接点有4个,分别在中心点的上、下、左和右。八向链码比四向链码增加了4个斜方向,因为任意一个像素周围均有8个邻接点,而八向链码正好与像素点的实际情况相符,能够准确地描述中心像素点与其邻接点的信息。因此,本发明利用八向链码来记录一条纤维从始端点到末端点的走向,链码值按图26所示有0-7个值,将纤维边缘图像中各条纤维边缘用链码表示。要识别同一根纤维,必须将纤维边缘的链码作配对比较,由于图像中存在多条长短不一的链码,而属于同一根纤维的两条边缘,其曲率具有一定的相似性,利用该特点,本发明提出如下快速识别算法:
(1)取出一链码ci={ci1,ci2,…,cin},设其起始点p0坐标为xi,yi,计算p0点的斜率k,当|k|≥1,该条纤维起点为上下方向,则在X方向上将搜索范围定为[xi-h,xi+h],当|k|<1,该条纤维起点为左右方向,则在X方向上将搜索范围定为[yi-h,yi+h];
以上描述中,h被定义为图像中最粗纤维的宽度,常见的为50左右。
(2)设在搜索范围内找到另一链码cj={cj1,cj2,…,cjm},因各条链码长度不等,即n≠m,假设n≥m,从ci中从起点起取m个链码与cj逐个比较,如链码值相等,则匹配值match加1,一次比较结束,则ci中链码右移一位,继续与cj比较,一直比较到n-m+1位置结束,共得n-m+1个match值,从中找到最大的match,记为mtchmax,再将matchmax归一化,即定义在搜索范围内找到各链码的最大匹配值为从M中找到最大值,当该最大值大于预定门限值,则认为ci与cj匹配,被识别为同一根纤维。
为验证本发明提出方法的识别性能,我们从实验样本中随机抽取5张纤维原始图像,然后由计算机使用本发明识别技术进行自动化识别,并对识别出的纤维填充了不同的图案。图28是原始图像之一;图29是计算机对图28进行自动化识别出纤维的图像;图30是原始图像之二;图31是计算机对图30进行自动化识别出纤维的图像;图32是原始图像之三;图33是计算机对图32进行自动化识别出纤维的图像;图34是原始图像之四;图35是计算机对图34进行自动化识别出纤维的图像;图36是原始图像之五;图37是计算机对图36进行自动化识别出纤维的图像;图38是统计表,表中汇总了图29、图31、图33、图35和图37中正确识别出的纤维数。
Claims (5)
1.一种复杂纤维图像的识别方法,其特征是:包括:准备步骤,二值化步骤,以及结束步骤;
所述的准备步骤包括2点:第1点,拍摄彩色纤维数字图像,再将该图像转化为256级灰度数字图像,然后把灰度数字图像输入到计算机待处理;第2点,定义一个与灰度数字图像大小一致的二值图像,该二值图像所有像素的初始值记为0,并将该二值图像存储在计算机内待用;
所述的二值化步骤包括以下的第一操作步骤、第二操作步骤、第三操作步骤和第四操作步骤:
第一操作步骤,计算灰度数字图像中所有像素的方差;
第二操作步骤,根据像素的方差情况,计算并标记全部的峰值点和谷值点;
第三操作步骤,对每一个峰值点进行是不是边界点的判断,如果是边界点,则依据灰度数字图像边界点的位置,对二值图像中相同位置的像素值标记为1;
所述的判断,其内容包括:1.设定用于进行比较的比较阈值,比较阈值的初始值为大于零的正整数;2.命名峰值点左方向最近的谷值点为左侧谷值点,命名峰值点右方向最近的谷值点为右侧谷值点;3.峰值点的方差减去左侧谷值点的方差得到左方差差值,峰值点的方差减去右侧谷值点的方差得到右方差差值,左方差差值和右方差差值相比较,其大者特别命名为大方差差值;4.如果大方差差值大于比较阈值的,峰值点是边界点,否则,峰值点不是边界点;
第四操作步骤,包括以下的第一分步、第二分步、第三分步和第四分步;
第一分步,设定步长和设定最小阈值;所述的步长,其设定为大于零的正整数且小于比较阈值的初始值;所述的最小阈值设定为大于零的正整数,并且,最小阈值加步长得到的和,其和小于或等于比较阈值的初始阈值;
第二分步,将比较阈值减步长得到当前阈值;
第三分步,寻找同时满足以下a、b、c三者的峰值点:
a.与该峰值点同样位置的二值图像中的像素,其像素值为0;
b.该峰值点的大方差差值大于当前阈值;
c.在该峰值点的8邻域点中,至少存在一个邻域点,在二值图像中,与此邻域点同样位置的像素,其像素值为1;
找到同时满足以上a、b、c三者的峰值点,将二值图像中同样位置的像素,其像素值标记为1;
第四分步,判别当前阈值大于或等于最小阈值吗?如果判别结果为是,则返回第四操作步骤中的第二分步;如果判别结果为否,则第四操作步骤结束,同时也是二值化步骤结束;
当上述的二值化步骤结束后,所述的方法进入结束步骤;结束步骤的工作内容包括输出二值图像;
所述的方法包括:细化步骤;
所述的细化步骤,其安排在第四操作步骤和结束步骤之间;
所述的细化步骤,其总体工作目的是:将二值图像中可以删除的白色像素点删除掉,从而使边缘线条变为单像素宽度,其同时带来的好处是减少了线条毛刺;所述的白色像素点就是数值为1的像素点;
所述的细化步骤,其具体工作内容包括:保留内点,保留端点,保留增加连通分量的边界点,删除孤立点,以及删除不增加连通分量的边界点;
所述的细化步骤,其设置3像素×3像素的邻域块;所述的邻域块,其中央为目标像素,其四周围绕的是8个相邻像素;每个相邻像素的值,在不同的具体情况下或为1或为0,8个相邻像素值的排列组合有256种情况;
所述的细化步骤,其预先构造一个具有256个元素的一维数组;元素下标从0开始至255为止;每一个元素的下标,其对应的元素具有明确的元素值,并且,元素值为0的,代表删除目标像素,元素值为1的,代表保留目标像素;所述的一维数组保存在计算机内;
每一目标像素所对应的元素下标,是依据8个相邻像素值的情况再通过计算后获得;得知元素下标就可从保存在计算机内的一维数组中获知元素值,并根据元素值删除目标像素或保留目标像素,最终实现细化目的;
所述的计算,其计算公式如下:
I=P1×20+P2×21+P3×22+P4×23+P5×24+P6×25+P7×26+P8×27;
一轮细化后,需要重新对二值图像中的全部白色像素点进行检查,当存在可以被细化的白色像素点的情况下,需要进行新一轮的细化工作;只有在没有可以被细化的白色像素点的情况下,细化步骤才结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像;
所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、补断修复步骤、同一纤维的识别步骤、以及结束步骤;
所述的同一纤维包括两条边缘线条,即包括第一边缘线条和第二边缘线条,该两条边缘线条的曲率具有一定的相似性,所述的同一纤维的识别步骤利用该相似性进行识别工作,其具体作业如下:
所述的识别步骤,引入八向链码的概念;所述的八向链码,其包括由八个箭头所指向的八个方向,八个箭头的箭尾集中于同一点,相邻的箭头具有45°角度的角度差;
所述的识别步骤,设置判别工作使用的最粗纤维宽度,设置门限值;
在二值图像中,获取第一边缘线条及其链码,并判断第一边缘线条是左右走向还是上下走向;第一边缘线条为左右走向的,其搜索第二条边缘线条及其链码的范围是:以第一边缘线条为基础,在y坐标方向上,向上及向下各拓宽一个最粗纤维宽度;第一边缘线条为上下走向的,其搜索第二条边缘线条及其链码的范围是:以第一边缘线条为基础,在x坐标方向上,向左及向右各拓宽一个最粗纤维宽度;
在上述范围内找到拟似的第二条边缘线条及其链码的,则将第一边缘线条的链码和拟似的第二边缘线条的链码进行逐个比较,并找出最大匹配值中的最大值;当最大匹配值中的最大值大于门限值时,拟似的第二边缘线条即为确定的第二边缘线条,换言之,拟似的第二条边缘线条和第一条边缘线条同属同一根纤维。
2.根据权利要求1所述的一种复杂纤维图像的识别方法,其特征是:所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、以及结束步骤;
所述的去毛刺步骤包括:设定用于判别是否为毛刺的毛刺阈值,设定用于检查毛刺长度的长度计数器,以及执行去毛刺工序;所述的毛刺阈值为整数,其最小为15,其最大为35;
所述的执行去毛刺工序是:按从上到下,从左到右扫描细化后的二值图像,如果像素点的数值为1且其8邻域点中只有一个像素点数值为1,则该像素点暂定为毛刺端点,标记该点;对每一个暂定为毛刺端点的像素点作如下进一步处理:
a.以暂定的毛刺端点为目标像素点,沿该点跟踪搜索其邻域点,同时将长度计数器数值清“0”;
b.若搜索到一个数值为1的邻域点,则将此邻域点作为当前目标像素点,然后再判断当前目标像素点是不是交叉点、以及是不是分叉点;
如果是交叉点的,则停止本目标像素点的处理工作,并转跳到d处;
如果是分叉点的,删除该线段,即:在二值图像中将线段经过的像素点的数值标记为0,然后转跳到d处;
如果既不是交叉点、又不是分叉点的,转入以下的c;
c.将长度计数器值累加1,并检查长度计数器的值是否大于毛刺阈值?如果大于毛刺阈值的,则停止本目标像素点的处理工作,并转入到d处;如果不大于毛刺阈值的,记录当前目标像素点,然后从当前目标像素点出发,回到以上的b处,进行新一轮的循环作业;
d.检查在二值图像中,还有没有暂定为毛刺端点的像素点,如果有的,则回到a继续进行处理,如果没有了,则去毛刺步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
3.根据权利要求1所述的一种复杂纤维图像的识别方法,其特征是:所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、删除交叉点步骤、以及结束步骤;
所述的删除交叉点步骤中,约定T(P)为目标像素点P的像素值,约定T(P1)、T(P2)、T(P3)、T(P4)、T(P5)、T(P6)、T(P7)、T(P8)为P点8邻域点的8个像素值;
所述的删除交叉点步骤包括依序执行的第1工序和第2工序;
所述的第1工序,其任务是寻找交叉点,其方法是考察二值图像,若某一目标像素点同时满足以下两项要求的,则该像素点被视为交叉点:
(1)T(P)=1;
(2)T(P1)+T(P2)+T(P3)+T(P4)+T(P5)+T(P6)+T(P7)+T(P8)≥3;
所述的第2工序是,对于被认定为是交叉点的目标像素点,则将该点以及其8邻域点的像素值都置为0;
当所有的交叉点被处理完毕后,则删除交叉点步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
4.根据权利要求1所述的一种复杂纤维图像的识别方法,其特征是:所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、去拐点步骤、以及结束步骤;
所述的去拐点步骤包括:去拐点前置工序和去拐点操作工序;
所述的去拐点前置工序包括以下的a、b和c,
a.设定长度阈值为2L+1,默认目标线条的前L个点中没有拐点;
b.设定用于判别拐点的角度阈值,角度阈值设置的范围是140°角度~160°角度;
c.设定第一数组和第二数组;第一数组fiberi(KOUNT,Z),其保存的是线条在二值图像中的x坐标信息;第二数组fiberj(KOUNT,Z),其保存的是线条在二值图像中的y坐标信息;Z为线条的编号数;
所述的去拐点操作工序,其处理的总线条数量为Z,即:从1号线条开始至Z号线条为止,逐条进行处理;去拐点操作工序包括以下的A、B、C、D、和E:
A.取出新的当前线条信息;
B.判断当前线条长度大于或等于长度阈值2L+1吗?若判断结果为否的,本线条的处理工作结束,回到以上的A;若判断结果为是的,转入以下的C;
C.从线条的第L个点开始依次向线条尾部寻找拐点;所述的第L个点,其从线条头部的端点开始往尾部方向依序排列在第L的位置;
D.线条中没有找到拐点的,则转入E;
线条中找到拐点的,则删除拐点,也就是在二值图像中将拐点本身的像素点值以及它的8邻域点像素点值全部置为0,然后转入E;
线条上的当前点是否为拐点,其判断方法如下:
以当前像素点为第二点,从当前像素点出发沿线条并朝向线条头部方向数L个像素为第一点,再从当前像素点出发沿线条并朝向线条尾部方向数L个像素为第三点,连接第一点和第二点为第一线条,连接第三点和第二点为第二线条,判断第一线条和第二线条形成的夹角,其内角是否小于或等于角度阈值,小于或等于角度阈值的,当前像素点为拐点,否则不是拐点;
E.判断全部的线条处理完毕了吗?若结果为否的,则回到以上的A处;若结果为是的,则去拐点步骤完毕,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
5.根据权利要求1所述的一种复杂纤维图像的识别方法,其特征是:所述的方法包括依序进行的准备步骤、二值化步骤、细化步骤、去毛刺步骤、补断修复步骤、以及结束步骤;
所述的补断修复步骤包括依序进行的前置工序和修补工序;
所述的前置工序包括如下的A和B作业:
A.扫描整个二值图像,对于长度小于10的线段不作处理,统计长度大于或等于10的全部线段的数量,并约定以number代表该全部数量,另外约定以count表示线段的长度;
B.将线段中每一个点,按x坐标和y坐标分别存入,即把全部长度大于或等于10的线段坐标信息分别存入fiberi(count,number)和fiberj(count,number)的两个数组中,其中,fiberi(count,number)数组中保存的是x坐标信息,fiberj(count,number)数组中保存的是y坐标信息;
所述的修补工序包括以下的具体工作:
a.设定补断距离,并确定补断距离的初始值;设定最大补断距离;设定步长数值;设定角度阈值的数值;
b.从线段的当前端点出发,搜寻其他端点,寻找到的其他端点必须满足与当前端点的距离小于或等于补断距离;
如果能够满足的,转入以下的c处;如果不能满足的,则转跳至以下的d处;
c.计算当前端点所构成的当前角度,计算其他端点所构成的其他角度,比较当前角度和其他角度,判断其小者是否大于或等于角度阈值;
上述判断为是的,则将当前端点和其他端点补断连接起来,然后转入d;上述判断为否的,直接转入d;
d.在当前补断距离的情况下,判断还有需要补断的吗?如果存在还有需要补断的,则返回以上的b处,如果不存在还需要补断的,则进入以下的e处;
e.将补断距离与步长相加后得到新的补断距离;判断新的补断距离是否大于最大补断距离?
如果上述判断结果为否的,返回以上的b处;
如果上述判断结果为是的,则补断修复步骤结束,然后进入结束步骤;结束步骤的工作内容包括输出二值图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210588021.0A CN103020609B (zh) | 2012-12-30 | 2012-12-30 | 复杂纤维图像的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210588021.0A CN103020609B (zh) | 2012-12-30 | 2012-12-30 | 复杂纤维图像的识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020609A CN103020609A (zh) | 2013-04-03 |
CN103020609B true CN103020609B (zh) | 2015-08-19 |
Family
ID=47969200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210588021.0A Expired - Fee Related CN103020609B (zh) | 2012-12-30 | 2012-12-30 | 复杂纤维图像的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020609B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106295483B (zh) * | 2015-06-11 | 2020-02-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105184327B (zh) * | 2015-10-30 | 2018-10-23 | 上海海事大学 | 一种基于顶点三分策略的遥感图像特征点匹配方法 |
CN106650874B (zh) * | 2016-12-30 | 2019-07-26 | 河南工业大学 | 一种纸张纤维特征的显示、防伪方法及装置 |
CN108185990B (zh) * | 2017-12-28 | 2020-11-20 | 杭州筹图科技有限公司 | 一种连接pt和cv的纤维间隔的识别方法及装置 |
CN108305287A (zh) * | 2018-02-02 | 2018-07-20 | 天津工业大学 | 一种基于相位信息的纺织材料纤维直径测量方法 |
CN109461136B (zh) * | 2018-09-20 | 2022-09-27 | 天津工业大学 | 一种混合纤维制品中纤维分布情况的检测方法 |
CN111696047B (zh) * | 2019-03-14 | 2023-08-22 | 四川中测辐射科技有限公司 | 一种医用成像设备的成像质量确定方法及系统 |
CN110838113B (zh) * | 2019-11-08 | 2022-03-04 | 南京大学金陵学院 | 一种对复丝合成中单丝计数和单丝粗细一致性的检测方法 |
CN114821611A (zh) * | 2022-05-20 | 2022-07-29 | 贵州大学 | 一种保护档案表格图像中的隐私数据的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269294B2 (en) * | 2002-07-01 | 2007-09-11 | Xerox Corporation | Foreground erosion method and system for Multiple Raster Content (MRC) representation of documents |
CN102592114A (zh) * | 2011-12-26 | 2012-07-18 | 河南工业大学 | 复杂路况的车道线特征提取、识别方法 |
US8331680B2 (en) * | 2008-06-23 | 2012-12-11 | International Business Machines Corporation | Method of gray-level optical segmentation and isolation using incremental connected components |
-
2012
- 2012-12-30 CN CN201210588021.0A patent/CN103020609B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269294B2 (en) * | 2002-07-01 | 2007-09-11 | Xerox Corporation | Foreground erosion method and system for Multiple Raster Content (MRC) representation of documents |
US8331680B2 (en) * | 2008-06-23 | 2012-12-11 | International Business Machines Corporation | Method of gray-level optical segmentation and isolation using incremental connected components |
CN102592114A (zh) * | 2011-12-26 | 2012-07-18 | 河南工业大学 | 复杂路况的车道线特征提取、识别方法 |
Non-Patent Citations (3)
Title |
---|
图象模糊边缘检测的改进算法;周德龙等;《中国图象图形学报》;20010430;全文 * |
复杂纤维图像的识别研究;汪依帆;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100815;全文 * |
奶牛图像二值化的研究;汪存燕等;《中国新技术新产品》;20120731;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103020609A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020609B (zh) | 复杂纤维图像的识别方法 | |
CN114549522B (zh) | 基于目标检测的纺织品质量检测方法 | |
CN107256406B (zh) | 重叠纤维图像分割方法、装置、存储介质和计算机设备 | |
CN101424680B (zh) | 异形纤维计算机自动识别装置与方法 | |
CN102305798B (zh) | 基于机器视觉的玻璃缺陷的检测与分类方法 | |
CN104574353B (zh) | 基于视觉显著性的表面缺陷判定方法 | |
CN106338520A (zh) | 一种表板为拼板的多层实木复合地板表面缺陷的识别方法 | |
CN105334219A (zh) | 一种残差分析动态阈值分割的瓶口缺陷检测方法 | |
CN108416774A (zh) | 一种基于细粒度神经网络的织物种类识别方法 | |
EP3252710B1 (en) | Banknote crack detection method and apparatus | |
CN110334760B (zh) | 一种基于resUnet的光学元器件损伤检测方法及系统 | |
CN109872300A (zh) | 一种摩擦片外观缺陷的视觉显著性检测方法 | |
CN104487843A (zh) | 图像处理装置、程序、图像处理方法、计算机可读介质及图像处理系统 | |
CN108038838A (zh) | 一种棉麻纤维种类自动检测方法和系统 | |
CN102096827A (zh) | 一种基于尺度不变和向量机分类的异形纤维自动识别方法 | |
CN112819844B (zh) | 一种图像边缘检测方法及装置 | |
CN109540925A (zh) | 基于差影法与局部方差测量算子的复杂瓷砖表面缺陷检测方法 | |
CN103149214A (zh) | 水果表面缺陷检测方法 | |
CN105572143A (zh) | 压延过程中压延材料表面周期性缺陷的检测方法 | |
CN104614386A (zh) | 一种镜片疵病类型的识别方法 | |
CN101482927A (zh) | 基于自动视觉检测的异性纤维模糊分类系统及其方法 | |
CN106093051A (zh) | 基于机器视觉的纸卷切面毛刺检测方法及装置 | |
CN104112123A (zh) | 一种用于子弹表观缺陷检测的aoi系统的缺陷特征提取与识别方法 | |
CN118014933A (zh) | 一种基于图像检测的缺陷检测识别方法和装置 | |
CN102004076B (zh) | 一种皮棉中异性纤维的检测方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Ma Yan Inventor after: Cheng Wei Inventor after: Li Shunbao Inventor after: Xia Genming Inventor before: Ma Yan Inventor before: Cheng Wei Inventor before: Li Shunbao Inventor before: Xia Gengming |
|
COR | Change of bibliographic data | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150819 Termination date: 20181230 |
|
CF01 | Termination of patent right due to non-payment of annual fee |