CN108345893A - 一种直线检测方法、装置、计算机存储介质及终端 - Google Patents
一种直线检测方法、装置、计算机存储介质及终端 Download PDFInfo
- Publication number
- CN108345893A CN108345893A CN201810215794.1A CN201810215794A CN108345893A CN 108345893 A CN108345893 A CN 108345893A CN 201810215794 A CN201810215794 A CN 201810215794A CN 108345893 A CN108345893 A CN 108345893A
- Authority
- CN
- China
- Prior art keywords
- pixel
- variance
- currently selected
- line segment
- straight line
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 107
- 238000004458 analytical method Methods 0.000 claims abstract description 263
- 235000019646 color tone Nutrition 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种直线检测方法、装置、计算机存储介质及终端,其中,直线检测方法包括:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;根据确定的虚假线段对直线检测结果进行修正。本发明实施例通过直线的局部特征分析确定了虚假直线,提升了直线检测的准确性。
Description
技术领域
本文涉及但不限于图像处理技术,尤指一种直线检测方法、装置、计算机存储介质及终端。
背景技术
直线特征是图像重要的几何特征,直线检测为图像理解、分析等高层处理提供了前提,在相机标定、图像处理、位姿估计、目标跟踪及自主视觉导航等领域有着广泛的应用。
目前直线检测算法主要包括:自上而下(如霍夫(Hough)变换、最小显著差异法(LSD,Least-Significant Difference))和自下而上(如边缘链码、相位分组)两大类;其中,Hough变换具有对噪声不敏感、稳健性好和遮挡问题易处理等优点,适合在各种场景下进行直线检测,霍夫变换可以充分利用图像的多种特征信息,提高直线提取的效果;但是,霍夫变换运算复杂度高、缺乏局部特性、容易产生虚假直线问题,影响直线检测的准确性。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种直线检测方法及装置,能够提升直线检测的准确性。
本发明实施例提供了一种直线检测方法,包括:
对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
根据确定的虚假线段对直线检测结果进行修正。
可选的,所述进行局部特征分析包括:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;
计算出的所述灰度方差小于或等于预设的方差阈值时,选择在后一个所述求方差像素,以进行后续处理;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括通过以下方式计算获得的值:计算当前进行所述局部特征分析的直线中所有像素的灰度方差,将计算获得的所有像素的灰度方差乘以预设的加权系数。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
判断当前选择的边缘像素与其左邻边缘像素色调是否一致;
判断出当前选择的所述边缘像素与其左邻边缘像素色调不一致时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
判断出当前选择的所述边缘像素与左邻边缘像素色调一致时,选择在后一个所述边缘像素,以进行后续处理;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
计算当前选择的边缘像素与其左邻边缘像素的欧式距离;
计算出的所述欧式距离大于预设的距离阈值时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
计算出的所述欧式距离小于或等于预设的所述距离阈值时,选择在后一个所述边缘像素,以进行后续处理;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否大于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的所述求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算选择的求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
另一方面,本发明实施例还提供一种直线检测装置,包括:分析单元和修正单元;其中,
分析单元用于:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
修正单元用于:根据确定的虚假线段对直线检测结果进行修正。
可选的,分析单元具体用于:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
再一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行上述直线检测方法。
还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
根据确定的虚假线段对直线检测结果进行修正。
与相关技术相比,本申请技术方案包括:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;根据确定的虚假线段对直线检测结果进行修正。本发明实施例通过直线的局部特征分析确定了直线中存在的虚假线段,提升了直线检测的准确性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例直线检测方法的流程图;
图2为本发明一可选实施例进行局部特征分析的流程示意图;
图3为本发明另一可选实施例进行局部特征分析的流程示意图;
图4为本发明再一可选实施例进行局部特征分析的流程示意图;
图5为本发明实施例直线检测装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例直线检测方法的流程图,如图1所示,包括:
步骤101、对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
可选的,本发明实施例直线检测结果包括:采用霍夫变换进行直线检测后获得的结果。
可选的,本发明实施例进行局部特征分析包括:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
以下通过可选实施例,对本发明实施例方法进行说明,实施例对其中一条直线进行分析,在实际应用中,可采用下述方法遍历所有直线检测获得的直线。
图2为本发明一可选实施例进行局部特征分析的流程示意图,如图2所示,本发明实施例根据灰度特征确定直线检测获得的直线是否存在虚假线段包括:
步骤201、在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
步骤202、从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
步骤203、根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
步骤204、计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
步骤205、根据灰度方差与预设方差阈值的大小关系,确定进行虚假直线判断的各线段的端点;这里,端点包括起点和/或终点。
可选的,本发明实施例确定进行虚假直线判断的各线段的端点可以包括:
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;
计算出的所述灰度方差小于或等于预设的方差阈值时,选择在后一个所述求方差像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个像素作为下一个求方差像素,并进行灰度方差及灰度方差与方差阈值的判断及处理;
步骤206、对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
步骤207、判断出线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括通过以下方式计算获得的值:计算当前进行所述局部特征分析的直线中所有像素的灰度方差,将计算获得的所有像素的灰度方差乘以预设的加权系数。
需要说明的是,本发明实施例左邻区域的像素个数的长度值可以根据图像的光照条件进行分析确定,一般像素个数为10~20个;所有像素进行灰度方差计算方法为相关技术中已有的计算方法;加权系数可以取0.5~0.8范围中的一个数值。本发明实施例左邻域和左邻边缘像素为相关技术中已有的定义本发明实施例在笛卡尔坐标空间按照列坐标进行排序时,可以确定取左邻域和左邻边缘像素进行虚假线段的判断,如果在笛卡尔坐标空间按照行坐标进行排序,则进行虚假线段的判断将可能是左邻域,也可能是右领域,因此本发明实施例按照列坐标进行排序。本发明实施例距离阈值为本领域技术人员根据经验分析确定的值。
另外,本发明实施例预设百分比阈值可以为20%左右的数值,可以由本领域技术人员根据经验进行设定,可以根据精度要求进行调整。
图3为本发明另一可选实施例进行局部特征分析的流程示意图,如图3所示,本发明实施例根据色调特征确定直线检测获得的直线是否存在虚假线段包括:
步骤301、在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
步骤302、对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
步骤303、判断当前选择的边缘像素与其左邻边缘像素色调是否一致;
步骤304、根据边缘像素与其左邻边缘像素色调是否一致,确定进行虚假线段判断的各线段的端点;这里,端点包括起点和/或终点。
可选的,本发明实施例确定进行虚假线段判断的各线段的端点可以包括:
判断出当前选择的所述边缘像素与其左邻边缘像素色调不一致时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
判断出当前选择的所述边缘像素与左邻边缘像素色调一致时,选择在后一个所述边缘像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个边缘像素,进行色调是否一致的判断;
步骤305、对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
步骤306、判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
图4为本发明再一可选实施例进行局部特征分析的流程示意图,如图4所示,本发明实施例根据像素间的空间距离确定直线检测获得的直线是否存在虚假线段包括:
步骤401、在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
步骤402、对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
步骤403、计算当前选择的边缘像素与其左邻边缘像素的欧式距离;
步骤404、根据边缘像素与其左邻边缘像素的欧式距离是否大于预设的距离阈值,确定进行虚假线段判断的各线段的端点;这里,端点包括起点和/或终点。
可选的,本发明实施例确定进行虚假线段判断的各线段的端点可以包括:
计算出的所述欧式距离大于预设的距离阈值时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
计算出的所述欧式距离小于或等于预设的所述距离阈值时,选择在后一个所述边缘像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个边缘像素,进行所述欧式距离的计算及后续判断;
步骤405、对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
步骤406、判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
可选的,本发明实施例确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否大于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,本发明实施例确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的所述求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,本发明实施例确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算选择的求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
步骤102、根据确定的虚假线段对直线检测结果进行修正。
需要说明的是,本发明实施例确定虚假线段后,可以根据相关技术对虚假线段进行删除处理,以实现对直线检测结果进行修正。
与相关技术相比,本申请技术方案包括:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;根据确定的虚假线段对直线检测结果进行修正。本发明实施例通过直线的局部特征分析确定了虚假线段,提升了直线检测的准确性。
与相关技术相比,本申请技术方案包括:对直线检测结果中包含的每一条直线分别进行局部特征分析;根据局部特征的分析结果确定虚假线段,并根据确定的虚假线段对直线检测结果进行修正。本发明实施例通过直线的局部特征分析确定了直线中存在的虚假线段,提升了直线检测的准确性。
图5为本发明实施例直线检测装置的结构框图,如图5所示,包括:分析单元5-1和修正单元5-2;其中,
分析单元5-1用于:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
可选的,本发明实施例直线检测结果包括:采用霍夫变换进行直线检测后获得的结果。
可选的,本发明实施例分析单元5-1具体用于:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
可选的,本发明实施例分析单元5-1具体用于:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;
计算出的所述灰度方差小于或等于预设的方差阈值时,选择在后一个所述求方差像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个像素作为下一个求方差像素,并进行灰度方差及灰度方差与方差阈值的判断及处理;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括通过以下方式计算获得的值:计算当前进行所述局部特征分析的直线中所有像素的灰度方差,将计算获得的所有像素的灰度方差乘以预设的加权系数。
需要说明的是,本发明实施例左邻区域的像素个数的长度值可以根据图像的光照条件进行分析确定,一般像素个数为10~20个;所有像素进行灰度方差计算方法为相关技术中已有的计算方法;加权系数可以取0.5~0.8范围中的一个数值。本发明实施例左邻域和左邻边缘像素为相关技术中已有的定义本发明实施例在笛卡尔坐标空间按照列坐标进行排序时,可以确定取左邻域和左邻边缘像素进行虚假线段的判断,如果在笛卡尔坐标空间按照行坐标进行排序,则进行虚假线段的判断将可能是左邻域,也可能是右领域,因此本发明实施例按照列坐标进行排序。本发明实施例距离阈值为本领域技术人员根据经验分析确定的值。
另外,本发明实施例预设百分比阈值可以为20%左右的数值,可以由本领域技术人员根据经验进行设定,可以根据精度要求进行调整。
可选的,本发明实施例分析单元5-1具体用于:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
判断当前选择的边缘像素与其左邻边缘像素色调是否一致;
判断出当前选择的所述边缘像素与其左邻边缘像素色调不一致时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
判断出当前选择的所述边缘像素与左邻边缘像素色调一致时,选择在后一个所述边缘像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个边缘像素,进行色调是否一致的判断;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
可选的,本发明实施例分析单元5-1具体用于:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
计算当前选择的边缘像素与其左邻边缘像素的欧式距离;
计算出的所述欧式距离大于预设的距离阈值时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
计算出的所述欧式距离小于或等于预设的所述距离阈值时,选择在后一个所述边缘像素,以进行后续处理;此时,根据遍历规则,按照从左到右的顺序选择在后一个边缘像素,进行所述欧式距离的计算及后续判断;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
可选的,本发明实施例确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否大于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,本发明实施例分析单元5-1具体用于:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的求方差像素为边缘像素时,判断当前选择的求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的所述求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的求方差像素为非边缘像素时,确定当前选择的求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的求方差像素的右邻边缘像素为在后处理的线段的起点;其中,起始点为首个当前选择的求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
可选的,本发明实施例分析单元5-1具体用于:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算选择的求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假直线;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
修正单元5-2用于:根据确定的虚假线段对直线检测结果进行修正。
需要说明的是,本发明实施例确定虚假线段后,可以根据相关技术对虚假线段进行删除处理,以实现对直线检测结果进行修正。
与相关技术相比,本申请技术方案包括:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;根据确定的虚假线段对直线检测结果进行修正。本发明实施例通过直线的局部特征分析确定了直线检测结果中存在的虚假线段,提升了直线检测的准确性。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行上述直线检测方法。
本发明实施例还提供一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
根据确定的虚假线段对直线检测结果进行修正。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (12)
1.一种直线检测方法,包括:
对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
根据确定的虚假线段对直线检测结果进行修正。
2.根据权利要求1所述的直线检测方法,其特征在于,所述进行局部特征分析包括:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
3.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;
计算出的所述灰度方差小于或等于预设的方差阈值时,选择在后一个所述求方差像素,以进行后续处理;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括通过以下方式计算获得的值:计算当前进行所述局部特征分析的直线中所有像素的灰度方差,将计算获得的所有像素的灰度方差乘以预设的加权系数。
4.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
判断当前选择的边缘像素与其左邻边缘像素色调是否一致;
判断出当前选择的所述边缘像素与其左邻边缘像素色调不一致时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
判断出当前选择的所述边缘像素与左邻边缘像素色调一致时,选择在后一个所述边缘像素,以进行后续处理;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
5.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
对排序后的所述笛卡尔坐标空间,从第二个边缘像素开始,按照从左到右的顺序每一次选择一个边缘像素,直至遍历至当前进行局部特征分析的直线的最右侧的边缘像素;
计算当前选择的边缘像素与其左邻边缘像素的欧式距离;
计算出的所述欧式距离大于预设的距离阈值时,确定当前选择的所述边缘像素为在后处理的线段的起点,当前选择的所述边缘像素的左邻边缘像素为当前处理的线段的终点;
计算出的所述欧式距离小于或等于预设的所述距离阈值时,选择在后一个所述边缘像素,以进行后续处理;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,第二个边缘像素为首条线段的起点。
6.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否大于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
7.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算当前选择的所述求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离小于或等于预设的所述距离阈值时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的所述求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的欧式距离是否小于或等于预设的所述距离阈值;当前选择的所述求方差像素与其左邻边缘像素的欧式距离大于预设的所述距离阈值时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素时,将当前选择的所述求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
8.根据权利要求2所述的直线检测方法,其特征在于,所述确定直线检测获得的直线是否存在虚假线段包括:
在笛卡尔坐标空间中,将当前进行局部特征分析的所述直线的像素按照列坐标从小到大进行排序;
从排序后的所述笛卡尔坐标空间中,以左侧第一个像素为起始点,确定第所述预设数值个像素作为第一个求方差像素的位置;其中,所述预设数值等于预先设置的左邻区域的像素个数的值;
根据确定的第一个所述求方差像素的位置,按照从左到右的顺序每一次选择一个未选择过的像素作为所述求方差像素,直至遍历至当前进行局部特征分析的直线的最右侧的像素;
计算选择的求方差像素与其左邻域内像素的灰度方差;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调一致时,判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的所述求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差大于预设的方差阈值,且所述求方差像素为边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素为在后处理的线段的起点;
计算出的所述灰度方差大于预设的方差阈值,但当前选择的所述求方差像素为非边缘像素时,确定当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点,当前选择的所述求方差像素的右邻边缘像素为在后处理的线段的起点;其中,所述起始点为首个当前选择的所述求方差像素所在线段的起点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
计算出的所述灰度方差小于或等于预设的方差阈值,且当前选择的所述求方差像素为边缘像素时,判断当前选择的所述求方差像素与其左邻边缘像素的色调是否一致;判断当前选择的所述求方差像素与其左邻边缘像素的色调不一致时,确定当前选择的所述求方差像素为在后处理的线段的起点,当前选择的所述求方差像素的左邻边缘像素为当前处理的线段的终点;判断当前选择的所述求方差像素是否是当前进行局部特征分析的直线的最右侧的像素;判断出当前选择的求方差像素是当前进行局部特征分析的直线的最右侧的像素,将当前选择的求方差像素作为当前处理的线段的终点;判断出当前选择的求方差像素不是当前进行局部特征分析的直线的最右侧的像素时,选择当前进行局部特征分析的直线的下一个所述求方差像素;
对确定起点和终点的各线段,分别计算线段中边缘像素所占百分比;
判断出所述线段中边缘像素所占百分比小于预设百分比阈值时,确定该线段为虚假线段;
其中,所述方差阈值包括:将当前进行局部特征分析的所述直线中所有像素进行灰度方差计算后,乘以预设的加权参数后获得的值。
9.一种直线检测装置,包括:分析单元和修正单元;其中,
分析单元用于:对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
修正单元用于:根据确定的虚假线段对直线检测结果进行修正。
10.根据权利要求9所述的直线检测装置,其特征在于,分析单元具体用于:
对直线检测结果中包含的每一条直线分别进行灰度特征、色调特征和/或空间位置特征的分析。
11.一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~8中任一项所述的直线检测方法。
12.一种终端,包括:存储器和处理器;其中,
处理器被配置为执行存储器中的程序指令;
程序指令在处理器读取执行以下操作:
对直线检测结果中包含的每一条直线分别进行局部特征分析,以确定直线检测获得的直线是否存在虚假线段;
根据确定的虚假线段对直线检测结果进行修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215794.1A CN108345893B (zh) | 2018-03-15 | 2018-03-15 | 一种直线检测方法、装置、计算机存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215794.1A CN108345893B (zh) | 2018-03-15 | 2018-03-15 | 一种直线检测方法、装置、计算机存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108345893A true CN108345893A (zh) | 2018-07-31 |
CN108345893B CN108345893B (zh) | 2021-01-26 |
Family
ID=62956669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810215794.1A Expired - Fee Related CN108345893B (zh) | 2018-03-15 | 2018-03-15 | 一种直线检测方法、装置、计算机存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345893B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961101A (zh) * | 2019-03-29 | 2019-07-02 | 京东方科技集团股份有限公司 | 货架状态确定方法及装置、电子设备、存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1831823A1 (en) * | 2004-12-21 | 2007-09-12 | Canon Kabushiki Kaisha | Segmenting digital image and producing compact representation |
CN101047795A (zh) * | 2006-03-30 | 2007-10-03 | 株式会社东芝 | 运动图像分割设备、字幕提取设备、方法和程序 |
CN101436254A (zh) * | 2007-11-14 | 2009-05-20 | 佳能株式会社 | 图像处理方法和图像处理设备 |
CN101540040A (zh) * | 2008-03-21 | 2009-09-23 | 深圳迈瑞生物医疗电子股份有限公司 | 自动检测限束器边界的方法与装置 |
CN102156884A (zh) * | 2011-04-25 | 2011-08-17 | 中国科学院自动化研究所 | 一种直线段检测和提取方法 |
CN103679691A (zh) * | 2012-09-24 | 2014-03-26 | 株式会社理光 | 连续型道路分割物检测方法和装置 |
CN105117680A (zh) * | 2015-05-04 | 2015-12-02 | 小米科技有限责任公司 | 一种识别信息卡的信息的方法和装置 |
CN105160341A (zh) * | 2015-09-01 | 2015-12-16 | 西北工业大学 | 一种基于直线段检测和内心性质的三角形检测方法 |
US20160092417A1 (en) * | 2014-09-30 | 2016-03-31 | Konica Minolta Laboratory U.S.A., Inc. | Horizontal and vertical line detection and removal for document images |
-
2018
- 2018-03-15 CN CN201810215794.1A patent/CN108345893B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1831823A1 (en) * | 2004-12-21 | 2007-09-12 | Canon Kabushiki Kaisha | Segmenting digital image and producing compact representation |
CN101047795A (zh) * | 2006-03-30 | 2007-10-03 | 株式会社东芝 | 运动图像分割设备、字幕提取设备、方法和程序 |
CN101436254A (zh) * | 2007-11-14 | 2009-05-20 | 佳能株式会社 | 图像处理方法和图像处理设备 |
CN101540040A (zh) * | 2008-03-21 | 2009-09-23 | 深圳迈瑞生物医疗电子股份有限公司 | 自动检测限束器边界的方法与装置 |
CN102156884A (zh) * | 2011-04-25 | 2011-08-17 | 中国科学院自动化研究所 | 一种直线段检测和提取方法 |
CN103679691A (zh) * | 2012-09-24 | 2014-03-26 | 株式会社理光 | 连续型道路分割物检测方法和装置 |
US20160092417A1 (en) * | 2014-09-30 | 2016-03-31 | Konica Minolta Laboratory U.S.A., Inc. | Horizontal and vertical line detection and removal for document images |
CN105117680A (zh) * | 2015-05-04 | 2015-12-02 | 小米科技有限责任公司 | 一种识别信息卡的信息的方法和装置 |
CN105160341A (zh) * | 2015-09-01 | 2015-12-16 | 西北工业大学 | 一种基于直线段检测和内心性质的三角形检测方法 |
Non-Patent Citations (3)
Title |
---|
GA BORGES 等: "A split-and-merge segmentation algorithm for line extraction in 2d range images", 《PROCEEDINGS 15TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION. ICPR-2000》 * |
宋新 等: "基于边缘连接的线段检测方法", 《系统工程与电子技术》 * |
康文静 等: "基于行程矢量连接原理的线段识别方法", 《光电子.激光》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961101A (zh) * | 2019-03-29 | 2019-07-02 | 京东方科技集团股份有限公司 | 货架状态确定方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108345893B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314989B2 (en) | Training a generative model and a discriminative model | |
CN109509200B (zh) | 基于轮廓提取的棋盘格角点检测方法以及计算机可读存储介质 | |
CN106920245B (zh) | 一种边界检测的方法及装置 | |
CN108389215B (zh) | 一种边缘检测方法、装置、计算机存储介质及终端 | |
CN109214334B (zh) | 车道线处理方法和装置 | |
KR20130056309A (ko) | 텍스트 기반 3d 증강 현실 | |
CN110555433A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN106845494B (zh) | 一种检测图像中轮廓角点的方法及装置 | |
CN111259878A (zh) | 一种检测文本的方法和设备 | |
EP2660753A2 (en) | Image processing method and apparatus | |
CN110675407A (zh) | 一种图像实例分割方法、装置、电子设备及存储介质 | |
CN115063618B (zh) | 一种基于模板匹配的缺陷定位方法、系统、设备及介质 | |
JP2009211626A (ja) | 画像処理装置及び方法 | |
CN111079730A (zh) | 一种在界面图中确定样图所在区域的方法和电子设备 | |
CN103761768A (zh) | 一种三维重建的立体匹配方法 | |
CN113469921A (zh) | 图像缺陷修复方法、系统、计算机设备及存储介质 | |
CN110910445A (zh) | 一种物件尺寸检测方法、装置、检测设备及存储介质 | |
CN113066088A (zh) | 工业检测中的检测方法、检测装置和存储介质 | |
CN104657994A (zh) | 一种基于光流法判断图像一致性的方法和系统 | |
CN108960247B (zh) | 图像显著性检测方法、装置以及电子设备 | |
CN109977959B (zh) | 一种火车票字符区域分割方法及装置 | |
EP2536123A1 (en) | Image processing method and image processing apparatus | |
CN111178200A (zh) | 一种仪表盘指示灯的识别方法及计算设备 | |
CN112784675B (zh) | 目标检测方法及装置、存储介质、终端 | |
CN108345893B (zh) | 一种直线检测方法、装置、计算机存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210126 |