一种针对图像中水平垂直线段的识别方法技术

技术编号:19389081 阅读:20 留言:0更新日期:2018-11-10 02:06
一种针对图像中水平垂直线段的识别方法:具体过程如下:指定图像中的识别区,根据所需识别的线段宽度设置滑动识别窗口,在识别水平线段时,滑动识别窗口的高度与线段的宽度相同;而在识别垂直线段时,滑动识别窗口的宽度与线段的高度相同;将滑动识别窗口放在图像中的识别区中滑动以遍历每条垂直线或水平线,对于识别垂直线时滑动识别窗口在图像中的识别区中从左至右滑动;而对于识别水平线时滑动识别窗口在图像中的识别区中从上至下滑动,在滑动识别窗口中判别是否存在符合指定条件的线段。相对于现有技术,本发明专利技术由于不存在形态学变换,所以识别的速率提升较大。

A recognition method for horizontal vertical lines in images

A method for recognizing horizontal and vertical line segments in an image is described in detail as follows: a sliding recognition window is set up according to the width of the line segments to be recognized in the specified recognition area of the image. When recognizing horizontal line segments, the height of the sliding recognition window is the same as the width of the line segments; and when recognizing vertical line segments, the sliding recognition window is used to identify vertical line segments. The width of the sliding recognition window is the same as the height of the line segment; sliding the sliding recognition window in the recognition area of the image to traverse each vertical line or horizontal line; sliding recognition window slides from left to right in the recognition area of the image when recognizing the vertical line; and sliding recognition window slides from left to right in the recognition area of the image when recognizing the horizontal line. Slide up and down and identify whether there are line segments that meet the specified conditions in the sliding recognition window. Compared with the prior art, the recognition rate of the present invention is greatly improved because there is no morphological transformation.

【技术实现步骤摘要】
一种针对图像中水平垂直线段的识别方法
本专利技术涉及图像识别领域,具体涉及一种针对图像中水平垂直线段的识别方法。
技术介绍
在图像识别领域,针对直线的检测,通常使用Hough(霍夫)算法。Hough算法及其改进算法的基本思想是利用共线点的对偶性来做检测,是坐标域变换的代表。它认为图像空间中共线的点在参数空间里对应着相交的线,并且,在参数空间里,相交在同一点的直线,其在图像空间里,都有共线的点相对应。Hough检测直线的能力包括:水平线、垂直线、斜线、间断线等。但由于Hough算法的特点,使用时间复杂度和空间复杂度都很高,与之对应的是算法低效和空间占用高,并且在变换过程中丢失了线段的长度信息和具体位置。虽然Hough算法的能力较大,但在检测具体的水平线和垂直线的效果上,不是最优的。本文针对水平线和垂直线的检测提出了一种新的算法。
技术实现思路
为解决上述问题,本专利技术提供一种针对图像中水平垂直线段的识别方法。本专利技术的技术方案具体为:一种针对图像中水平垂直线段的识别方法:具体过程如下:指定图像中的识别区,根据所需识别的线段宽度设置滑动识别窗口,在识别水平线段时,滑动识别窗口的高度与线段的宽度相同;而在识别垂直线段时,滑动识别窗口的宽度与线段的高度相同;将滑动识别窗口放在图像中的识别区中滑动以遍历每条垂直线或水平线,对于识别垂直线时滑动识别窗口在图像中的识别区中从左至右滑动;而对于识别水平线时滑动识别窗口在图像中的识别区中从上至下滑动,在滑动识别窗口中判别是否存在符合指定条件的线段。进一步的:所述的指定条件包括颜色数组、颜色误差、线段宽度、线段最小长度。如权利要求1所述的一种针对图像中水平垂直线段的识别方法,其特征在于:识别过程中采用递归嵌套的方式在图像中寻找,分别分为三个层次:图像内遍历、滑动识别窗口内遍历、线条内遍历。进一步的:所述的图像内遍历过程是将滑动识别窗口放在图像中的识别区中滑动来遍历每条垂直线或水平线。进一步的:所述的滑动识别窗口内遍历过程是在滑动识别窗口内,识别水平线时从左至右或识别垂直线时从上至下,依次在窗口内的每条线段内,查找符合颜色条件和最小长度条件的线段区间的集合,线段区间定义为在该区间内的每条线段都符合颜色条件和最小长度条件并且识别垂直线时该区间宽度和滑动识别窗口宽度相同、识别水平线时该区间高度和滑动识别窗口高度相同。进一步的:所述的线条内遍历过程是针对滑动识别窗口内的每一条线条,识别水平线时从左至右或识别垂直线时从上至下依次寻找符合颜色要求的每个线段,然后再对每个线段做长度判断,只保留满足最小长度的那些线段。进一步的:所述的滑动识别窗口每次滑动的距离是图像中的一个线条,一个线条就是一个像素的宽度。相对于现有技术,本专利技术的技术效果为:1)由于不存在形态学变换,所以识别的速率提升较大;2)由于对输入条件做了较为严格的判断,所以准确率较高;3)能够识别出“不同颜色混排”的线段。附图说明图1是本专利技术的识别样例图。图2为识别图1时的参数表。图3为本专利技术算法流程示意图。图4为垂直线段拆解示意图。图5为水平线段拆解示意图。图6为垂直线识别时滑动识别窗口滑动示意图。图7为水平线识别时滑动识别窗口滑动示意图。图8为滑动识别窗口内遍历识别示意图。图9为线条内遍历识别示意图。具体实施方式本算法的基本思路是,以所需识别的线段宽度指定为“线段宽度”来设置滑动识别窗口的尺寸,将滑动识别窗口在图像中的识别区中滑动来遍历每条垂直线或水平线,对于识别垂直线时,滑动识别窗口在图像中的识别区中是从左至右滑动的;而对于识别水平线时,滑动识别窗口在图像中的识别区中是从上至下滑动的。在滑动识别窗口内部,判别是否存在符合指定条件的线段,其中指定条件包括颜色数组、颜色误差、线段宽度、线段最小长度。在识别过程中,识别算法以递归嵌套的方式在图像中寻找,分别分为三个层次:图像内遍历、滑动识别窗口内遍历、线条内遍历。如图3所示。1)图像内遍历首先,将图像理解为一条条的线段。对于水平线段识别,理解为一条条的横线段,而对于垂直线段识别,则理解为一条条的竖线段。如图4-5所示。其次,设置一个以参数“线段宽度”为大小的矩形框作为“滑动识别窗口”,对于水平线段识别,窗口的“高度”设置为“线段宽度”,而对于垂直线段识别,窗口的“宽度”设置为“线段宽度”。然后,将滑动识别窗口放在图像的识别区位置,识别水平线时从上至下或识别垂直线时从左至右滑动,如图6-7如示。每次滑动的距离是图像中的一个线条,即一个像素的宽度。每次在滑动识别窗口内判定和查找是否存在符合要求的线段。判定和查找的方法将在下述“滑动识别窗口内遍历”中说明。2)滑动识别窗口内遍历在滑动识别窗口内,识别水平线时从左至右或识别垂直线时从上至下,依次在窗口内的每条线段内,查找符合颜色条件和最小长度条件的线段区间的集合。颜色条件和最小长度条件这两点条件的具体说明及方法将在下述“线条内遍历”中体现。通过“线条内遍历”,得到的结果是:在每条线条上,存在着“0段或多段”满足“颜色范围”并且长度不小于“最小长度”的线段集合。如图8所示。在图8的例子中,滑动识别窗口的尺寸是3个像素,通过线条内遍历,窗口内的3个线条分别含有2个、2个、1个满足条件的线段,根据这些线段的位置坐标,寻找在一定坐标范围内每条线段都符合颜色条件和最小长度条件的区间坐标,并且识别水平线时该区间高度与滑动识别窗口高度相同、识别垂直线时该区间宽度与滑动识别窗口宽度相同,其中判断水平线时区间横坐标范围为所需线段的最小长度、判断垂直线时区间纵坐标范围为所需线段的最小长度,该坐标范围的区间即为最终找到的一条满足“宽度条件”的线段区间。这条线段区间形成的粗线段就是要寻找的目标线段,读取该区间的坐标信息,并将它在整个图像中的位置信息记录下,将位置信息返回给调用者。而图8中处于较左位置的2条线段,虽然长度满足要求,但无法形成“连续3个线段”的线段区间要求而最终无法满足要求。3)线条内遍历在“线条内遍历”阶段,针对每一条线条,水平线从左至右或垂直线从上至下依次寻找符合颜色要求的每个“线段”。例如针对图5中的第一条线,可能会存在多个符合颜色要求的线段,如图9所示。在图9中,存在4个符合颜色要求的线段。然后再对每个线段做长度判断,只保留满足“最小长度”的那些判断。在图9中,只有左边的两条线段的长度满足要求,右边的两个线段由于长度较短而被忽略。在经过了上述三个层次的遍历查找之后,就能够找出是否存在着满足指定要求的线段,以及这些线段的位置。本方法用于从图像中识别出水平线段和垂直线段,不包括斜线。对于一幅给定的图像,指定的参数包括:作为识别区的“感兴趣区”、线段颜色数组、颜色误差范围、线段宽度、线段最小长度。通过本方法,能够得到线段的两个端点的坐标即为滑动识别窗口内遍历中的线段区间坐标。下面以图1为例简要描述算法的使用。在图1中,悬浮着一个“对话框”,若要识别出对话框的位置和大小,可使用本算法。识别对话框其实就是识别出它的上下水平线段和左右垂直线段的位置。通过分析图像,可以观察出对话框的边界处存在两个特点:1.对话框的四周边界处是同一种颜色,即墨蓝色。2.对话框边界之外的1个像素是纯黑色线条包裹。由此可得到调用本算法的输入参数,如图2所示。使用本算法之后,得本文档来自技高网...

【技术保护点】
1.一种针对图像中水平垂直线段的识别方法,其特征在于:具体过程如下:指定图像中的识别区,根据所需识别的线段宽度设置滑动识别窗口,在识别水平线段时,滑动识别窗口的高度与线段的宽度相同;而在识别垂直线段时,滑动识别窗口的宽度与线段的高度相同;将滑动识别窗口放在图像中的识别区中滑动以遍历每条垂直线或水平线,对于识别垂直线时滑动识别窗口在图像中的识别区中从左至右滑动;而对于识别水平线时滑动识别窗口在图像中的识别区中从上至下滑动,在滑动识别窗口中判别是否存在符合指定条件的线段。

【技术特征摘要】
1.一种针对图像中水平垂直线段的识别方法,其特征在于:具体过程如下:指定图像中的识别区,根据所需识别的线段宽度设置滑动识别窗口,在识别水平线段时,滑动识别窗口的高度与线段的宽度相同;而在识别垂直线段时,滑动识别窗口的宽度与线段的高度相同;将滑动识别窗口放在图像中的识别区中滑动以遍历每条垂直线或水平线,对于识别垂直线时滑动识别窗口在图像中的识别区中从左至右滑动;而对于识别水平线时滑动识别窗口在图像中的识别区中从上至下滑动,在滑动识别窗口中判别是否存在符合指定条件的线段。2.如权利要求1所述的一种针对图像中水平垂直线段的识别方法,其特征在于:所述的指定条件包括颜色数组、颜色误差、线段宽度、线段最小长度。3.如权利要求1所述的一种针对图像中水平垂直线段的识别方法,其特征在于:识别过程中采用递归嵌套的方式在图像中寻找,分别分为三个层次:图像内遍历、滑动识别窗口内遍历、线条内遍历。4.如权利要求3所述的一种针对图像中水平垂直线段的识别方法,其特征在于:所述的图像内遍历过...

【专利技术属性】
技术研发人员:陈宇杨清祥白鸿钧丁洋刘远锋苏慧祥
申请(专利权)人:河南思维轨道交通技术研究院有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1