1.一种图像中断裂曲线闭合方法,其特征在于包括如下步骤:
步骤1:对图像进行二值化,并通过细化,将图像中存在的曲线变成单像素曲线;
步骤2:遍历图像中所有像素点,找到一个曲线的断点p;
步骤3:存储步骤2中找到的断点p的坐标和断点p所在线段的延伸方向,然后进入步骤2循环,直到遍历完图像中所有像素点,则结束循环,进入步骤4,步骤4:找到步骤3中符合闭合要求的两个断点,符合闭合要求需要满足以下全部条件:
4.1)两个断点之间的距离平方d小于预先设定的阈值D,距离平方的计算如公式(4)所示:d=(x1-x2)2+(y1-y2)2 (4)
4.2)两个断点所在线段的延伸方向需要满足以下条件之一:
(4.2.1)direct1=8或者direct2=8
(4.2.2)-6<=direct1-direct2<=-2(4.2.3)2<=direct1-direct2<=6
4.3)两个断点的坐标值需要满足以下条件之一:
(4.3.1)|x1-x2|
(4.3.2)|y1-y2|
其中,num为某个小阈值,用于限定两个断点所在线段处于同一直线的某个范围内,x1和x2分别表示两个断点的横坐标,y1和y2分别表示两个断点的纵坐标,direct1和direct2分别为这两个断点对应的曲线段延伸方向;
步骤5:对步骤4中找到的两个断点进行闭合,然后进入步骤4循环,直到闭合了所有能够闭合的断点,则停止循环;闭合的方法是在两个断点之间绘制二次B样条曲线,具体方法为执行以下两个步骤:步骤5.1:取第一个断点为二次B样条曲线的第一个和第二个控制点point1和point2,第二个断点为二次B样条曲线的第三个控制点point3,根据这三个控制点绘制第一段二次B样条曲线;
步骤5.2:取第一个断点为二次B样条曲线的第一个控制点point1,第二个断点为二次B样条曲线的第二个和第三个控制点point2和point3,根据这三个控制点绘制第二段二次B样条曲线。
2.根据权利要求1所述的一种图像中断裂曲线闭合方法,其特征在于步骤2中的确定像素点p为曲线的断点需要满足以下条件之一:(2.1)B(p)=1;
(2.2)B(p)=2并且C2(p)=1;
(2.3)B(p)=3并且点p的8邻域点灰度值要满足以下条件之一:(2.3.1)p7=1并且p0=1并且p1=1;
(2.3.2)p1=1并且p2=1并且p3=1;
(2.3.3)p3=1并且p4=1并且p5=1;
(2.3.4)p5=1并且p6=1并且p7=1,
其中,B(p)为有序集{p0,p1,p2,p3,p4,p5,p6,p7}中非0元素的数量,p0,p1,p2,p3,p4,p5,p6,p7分别表示点p的8邻域点的灰度值,C2(p)为有序集{p0,p1,p2,p3,p4,p5,p6,p7}中“11”模式的数量,“11”模式指有序集中相邻两个元素为非0、并且该相邻两个元素两边相邻元素都为0的情况,有序集中首尾两个元素也为相邻元素。
3.根据权利要求2所述的一种图像中断裂曲线闭合方法,其特征在于步骤3)中具体判断线段延伸方向的步骤如下:步骤3.1:判断步骤2中(2.1)、(2.2)两种情况的断点所在线段的延伸方向的具体步骤如下:步骤3.1.1:存储当前点p到pointList中,其中pointList表示用于存储断点所在曲线上像素点的数组,然后判断当前点p是不是曲线终点,如果是终点则进入步骤3.1.4;如果不是终点则进入步骤3.1.2;判断当前点p是终点需要满足以下条件之一:(3.1.1.1)B(p)=0;
(3.1.1.2)B(p)>=2,但以下两种情况除外:若B(p)=2并且C2(p)=1,不能判断为终点,令p1,p3,p5,p7均为0;若B(p)=3并且C3(p)=1,不能判断为终点,令p1,p3,p5,p7均为0;
其中C3(p)为有序集{p0,p1,p2,p3,p4,p5,p6,p7}中“111”模式的数量,“111”模式指有序集中相邻三个元素为非0、并且该相邻三个元素两边相邻元素都为0的情况,有序集中首尾两个元素也为相邻元素;
步骤3.1.2:由当前点p定位到与点p相邻的下一个点,利用当前点p的8邻域点灰度值通过公式(1)和(2)进行处理:其中x,y分别表示当前点p的横坐标和纵坐标;
步骤3.1.3:记录经过步骤3.1.2处理后的点p的8邻域点的灰度值,即更新p0,p1,p2,p3,p4,p5,p6,p7的值,如果8邻域点中有某个点的灰度值大于0,并且这个点在pointList中已经存在,则令记录该点灰度值的pk等于0,k=0,1,2,…,7,进入步骤3.1.1循环,直到达到预先设定的循环次数,则进入步骤3.1.4;
步骤3.1.4:计算pointList中所有点的平均坐标点,根据该平均坐标点与该线段断点的相对位置根据公式(5)来判断线段的延伸方向,其中ax,ay分别表示平均坐标点的横坐标和纵坐标,bx,by分别表示该线段断点的横坐标和纵坐标,如果该平均坐标点和该线段断点坐标重合,则置该线段的延伸方向为8;
步骤3.2:判断步骤2中(2.3)情况的断点所在线段的延伸方向,能够根据式(3)直接进行判断: