本发明专利技术提供了一种基于图像识别的快速矩形定位算法,包括:在水平方向抽取预设条数的水平线,针对每条水平线,找出所有的左边缘像素和右边缘像素,分别记为(x0,y)、(x1,y),(x0,y)与(x1,y)构成水平点对,当abs(x1
【技术实现步骤摘要】
一种基于图像识别的快速矩形定位算法
[0001]本专利技术涉及图像处理
,特别地,涉及一种基于图像识别的快速矩形定位算法。
技术介绍
[0002]矩形作为一种常见的图形,对其进行目标检测和提取在计算机视觉检测和图像识别领域有着广泛的应用,目前市面上的一些矩形识别算法,存在识别速度慢、识别率低的缺陷。
技术实现思路
[0003]有鉴于此,本专利技术目的是提供一种基于图像识别的快速矩形定位算法,能够较为快速精准地从原始图像中找到矩形。
[0004]为了解决上述技术问题,本专利技术的技术方案是:
[0005]一种基于图像识别的快速矩形定位算法,包括:
[0006]S1、设原始图像的尺寸为W*H,目标矩形的尺寸为A*B,识别误差为e;
[0007]S2、在水平方向抽取预设条数的水平线,针对每条水平线,找出所有的左边缘像素和右边缘像素,分别记为(x0,y)、(x1,y),(x0,y)与(x1,y)构成水平点对,当abs(x1
‑
x0
‑
A)<=e,则保留这个水平点对所构成的水平线段;
[0008]S3、从所有的水平点中筛选出最左点和最右点,水平坐标记为Xmin,Xmax;从原始图像中抽取竖直线,以水平坐标从Xmin到Xmax,抽取预设条数的竖直线;
[0009]S4、针对每条竖直线,找出所有的上边缘像素(x,y0)和下边缘像素(x,y1),分别记为(x,y0)、(x,y1),(x,y0)与(x,y1)构成垂直点对,当abs(y1
‑
y0
‑
B)<=e,则保留这个垂直点对所构成的垂直线段;
[0010]S5、判断是否存在相交的水平线段和垂直线段,若是,则根据相交的水平线段和垂直线段的坐标信息将其归入到不同的候选集中;
[0011]S6、判断每一个候选集中是否存在至少一对相交的水平线段和垂直线段,分别与该候选集中的所有垂直线段和水平线段都相交,若是,则表示目标矩形存在于该候选集中;
[0012]S7、根据该候选集中的对水平线段和垂直线段的坐标信息获得目标矩形的四个点的坐标。
[0013]优选地,找出所有的边缘像素的条件是:黑白灰度跳变大于c。
[0014]优选地,步骤S5中,所述判断是否存在至少一对相交的水平线段和垂直线段的条件为:Xh_0<=Xv<=Xh_1且Yv_0<=Yh<=Yv_1,其中,(Xh_0,Xh_1,Yh)为一对水平点对所构成的水平线段,(Xv,Yv_0,Yv_1)为一对垂直点所构成一条垂直线段。
[0015]优选地,在步骤S2中,抽取的水平线条数为H/(6*B)+2。
[0016]优选地,在步骤S3中,抽取的竖起线条数为(Xmax
‑
Xmin)/(6*B)+2。
[0017]优选地,步骤S6还包括:去除水平线段或垂直线段的数量小于等于2的候选集。
[0018]优选地,步骤S7中,根据平均法计算目标矩形的四个坐标点。
[0019]本专利技术技术效果主要体现在以下方面:
[0020]通过建立多个水平和垂直的扫描线,然后利用灰度变化找到扫描线与目标矩形的多对水平点和垂直点,并以此找到能够表征矩形的至少一对水平线段和垂直线段,从而找到目标矩形。
附图说明
[0021]图1、图2为实施例中快速矩形定位算法的流程图。
具体实施方式
[0022]以下结合附图,对本专利技术的具体实施方式作进一步详述,以使本专利技术技术方案更易于理解和掌握。
[0023]本实施例提供了一种基于图像识别的快速矩形定位算法,包括:
[0024]S1、设原始图像(灰度图)的尺寸为W*H,目标矩形的尺寸为A*B,识别误差为e。
[0025]S2、在水平方向抽取预设条数的水平线,针对每条水平线,找出所有的左边缘像素和右边缘像素,分别记为(x0,y)、(x1,y),(x0,y)与(x1,y)构成水平点对,当abs(x1
‑
x0
‑
A)<=e,则保留这个水平点对所构成的水平线段。
[0026]具体地,抽取的水平线条数为H/(6*B)+2,另外,当水平线与原始图像中的线条存在相交是,交点处会存在灰度变化,当灰度跳变大于C时,该交点可被认定为边缘像素点。当同一条水平线上存在多个边缘像素点时,分别将相邻的两个边缘像素点记为一对左边缘像素和右边缘像素。
[0027]S3、从所有的水平点中筛选出最左点和最右点,水平坐标记为Xmin,Xmax;从原始图像中抽取竖直线,以水平坐标从Xmin到Xmax,抽取预设条数的竖直线。
[0028]S4、针对每条竖直线,找出所有的上边缘像素(x,y0)和下边缘像素(x,y1),分别记为(x,y0)、(x,y1),(x,y0)与(x,y1)构成垂直点对,当abs(y1
‑
y0
‑
B)<=e,则保留这个垂直点对所构成的垂直线段。
[0029]具体地,抽取的竖起线条数为(Xmax
‑
Xmin)/(6*B)+2,另外,当竖直线与原始图像中的线条存在相交是,交点处会存在灰度变化,当灰度跳变大于C时,该交点可被认定为边缘像素点。当同一条竖直线上存在多个边缘像素点时,分别将相邻的两个边缘像素点记为一对上边缘像素和下边缘像素。
[0030]S5、判断是否存在相交的水平线段和垂直线段,若是,则根据相交的水平线段和垂直线段的坐标信息将其归入到不同的候选集中。
[0031]具体地,本步骤采用的判断条件为:Xh_0<=Xv<=Xh_1且Yv_0<=Yh<=Yv_1,其中,(Xh_0,Xh_1,Yh)为一对水平点对所构成的水平线段,(Xv,Yv_0,Yv_1)为一对垂直点所构成一条垂直线段。采用该判断条件,可筛选出相交的水平线段和垂直线段,在同一个目标矩形的尺寸范围内,其内部存在多对相交的水平线段和垂直线段,而对于不同的目标矩形,水平线段和垂直线段的坐标点存在较大差值,因此,可根据差值将所有相交的水平线段和垂直线段分组,从而获得不同的候选集。
[0032]进一步地,在获得若干候选集后,每一个候选集中的水平线段和垂直线段的数量
可能并不同,而数量较少则不利于判断目标矩形是否存在于该候选集中,因此需要去除水平线段或垂直线段的数量小于等于2的候选集。
[0033]S6、判断每一个候选集中是否存在至少一对相交的水平线段和垂直线段,分别与该候选集中的所有垂直线段和水平线段都相交,若是,则表示目标矩形存在于该候选集中。
[0034]判断相交的方法参考步骤S5的内容,不再赘述。
[0035]S7、根据该候选集中的对水平线段和垂直线段的坐标信息获得目标矩形的四个点的坐标。
[0036]本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于图像识别的快速矩形定位算法,其特征是,包括:S1、设原始图像的尺寸为W*H,目标矩形的尺寸为A*B,识别误差为e;S2、在水平方向抽取预设条数的水平线,针对每条水平线,找出所有的左边缘像素和右边缘像素,分别记为(x0,y)、(x1,y),(x0,y)与(x1,y)构成水平点对,当abs(x1
‑
x0
‑
A)<=e,则保留这个水平点对所构成的水平线段;S3、从所有的水平点中筛选出最左点和最右点,水平坐标记为Xmin,Xmax;从原始图像中抽取竖直线,以水平坐标从Xmin到Xmax,抽取预设条数的竖直线;S4、针对每条竖直线,找出所有的上边缘像素(x,y0)和下边缘像素(x,y1),分别记为(x,y0)、(x,y1),(x,y0)与(x,y1)构成垂直点对,当abs(y1
‑
y0
‑
B)<=e,则保留这个垂直点对所构成的垂直线段;S5、判断是否存在相交的水平线段和垂直线段,若是,则根据相交的水平线段和垂直线段的坐标信息将其归入到不同的候选集中;S6、判断每一个候选集中是否存在至少一对相交的水平线段和垂直线段,分别与该候选集中的所有垂直线段和水平线段都相交,若是,则表示目标矩形存在于该候选...
【专利技术属性】
技术研发人员:程礼金,
申请(专利权)人:深圳市朗派电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。