一种图像关键直线检测方法技术

技术编号:16780084 阅读:24 留言:0更新日期:2017-12-13 00:12
本发明专利技术公开了一种图像关键直线检测方法,包括图像预处理、直线检测和关键直线判断三个部分。本发明专利技术利用拆分法结合最小二乘法进行直线检测,算法效率和精准度较高,同时本发明专利技术先利用K‑means算法先进行直线聚类,再根据类别直线总长度和直线长度找到图像关键直线,有效提高了直线检测的准确率,本发明专利技术为进一步目标定位、分析、识别等过程提供保障。

A key line detection method for image

The invention discloses an image key line detection method, which includes three parts: image preprocessing, line detection and critical line judgment. The invention is combined with least square method for line detection using the splitting method, the algorithm efficiency and accuracy is higher, at the same time, the invention uses K means algorithm uses linear clustering, according to the total length of straight line and line length to find the image category key line, effectively improve the accuracy of line detection, the invention further provides protection for target localization analysis and recognition process.

【技术实现步骤摘要】
一种图像关键直线检测方法
本专利技术涉及一种图像关键直线检测方法,具体是一种基于直线检测和聚类的图像关键直线检测方法。
技术介绍
图像关键直线检测方法是对图像中占比最多的直线进行检测,包括了图像预处理、直线检测和关键直线判别三个部分,为进一步目标定位、分析、识别等过程提供条件。目前直线检测的算法较为成熟,主要可以分为两类基于Hough变换的直线检测方法和基于链码的直线检测方法。基于Hough变化的直线检测方法是一种全局性的方法,它的优点是具有较强的抗干扰能力,缺点是计算量比较大,同时对于存在一定弯曲现象的直线检测效果较差,容易发生误检、漏检。针对基于Hough变化的直线检测方法的不足,很多学者提出了改进的Hough直线检测方法,如周云燕(基于RHT-LSM直线检测方法的研究[J].光电工程,2007,34(01):55-58)结合随机Hough变换和最小二乘法进行直线检测,通过使用随机Hough变换改善了传统Hough变化方法的性能,通过利用最小二乘法改善了Hough变换检测微弯曲直线的能力,但该方法的前提是Hough变换能先定位出目标直线的大致位置,再以最小二乘法进行修正,因此没有克服Hough方法漏检的问题;乔寅骐(基于最小二乘修正的随机Hough变换直线检测[J].计算机应用,2015,35(11):3312-3315)提出了一种基于ρ-θ域最小二成拟合修正的随机Hough变换的直线检测方法,该方法改善了Hough直线检测对标准直线的误检、漏检的情况,但是还是不能保证对微弯曲的直线的检测效果。基于链码的直线检测方法首先提取出目标边界的链码,然后对得到的链码进行迭代分析确定直线,方法的优点是直线检测精准度高,但容易陷入局部最优,导致找到的直线过短,同时算法的复杂性较高。如鲁光泉(基于链码检测的直线段检测方法[J].计算机应用,2006,32(14):1-3)和裘镇宇(基于Freeman链码的边缘跟踪算法及直线段检测[J].微型电脑应用,2008,24(1):17-20)通过迭代找到满足分割要求的角点,进而进行曲线分割,两种方法的角点判别方法有所区别,同时对于链码方法容易陷入局部最优的问题也进行不同的改善,但算法复杂性问题还是存在。而本专利技术采用的是基于拆分的直线检测方法,与基于链码的直线检测方法类似,也需要找到角点进行曲线分割,不同的是本专利技术的方法不需要对所有点进行角点判别,算法效率上更优,同时也不存在局部最优的问题。在此基础上,本专利技术再通过改进的K-means聚类方法对检测出来的直线根据角度进行聚类,并根据一定的筛选策略确定图像中的关键直线。
技术实现思路
为了解决现有技术中存在的上述技术问题,本专利技术提出了一种图像关键直线检测方法,本专利技术所述方法包括图像预处理、直线检测、关键直线筛选三个部分。其中,图像预处理过程通过滤波和Canny边缘检测方法得到窗角图像的边缘图;直线检测过程首先得到图像中的曲线集,然后通过拆分法对所有曲线进行拆分,得到满足直线约束的曲线集,最后通过最小二乘直线拟合法拟合得到直线集;关键直线筛选过程首先利用改进的K-means方法将所有直线根据角度进行聚类,然后筛选出直线总长度最长的直线集为关键直线所在集合,并选取集合中长度最长的线段为最终的关键直线。本专利技术具体包括如下步骤:步骤1:将原始图像缩放为宽、高分别width和height的图像D;步骤2:对图像D进行高斯滤波和Canny边缘检测操作,得到边缘图D1,图像D1的边缘点集合为B={bi|i=0,1,…,NB-1},bi表示图像D1上的边缘点,且点bi的横坐标和纵坐标分别记作bi.x,bi.y,NB表示集合B中元素的个数;步骤3:得到图像D1中的曲线集C,具体步骤为:步骤3.1:若集合B中存在满足PN(bk)∈{20,21,…,27,20+21,21+22,…,27+20}的点bk,则将bk确定为一条新曲线Cz的起始点,初始化曲线Cz={bk},将点bk从集合B中剔除,转步骤3.2;否则,转步骤4;其中PN(bk)表示点bk的八邻域值,根据公式(1)计算得到;其中,E(x,y)表示集合B中是否存在坐标为(x,y)的点,若存在则E(x,y)=1,否则E(x,y)=0;步骤3.2:若PN(bk)∈{20,21,…,27,20+21,21+22,…,27+20},则转步骤3.3;否则,若NCz>α,将Cz加到曲线集C中,转步骤3.1;若NCz≤α,则不保留曲线Cz,直接转步骤3.1,其中,NCz表示曲线Cz的长度,α为预先设定的最小曲线长度;步骤3.3:若PN(bk)∈{20,21,…,27},则找到集合B中坐标满足|bt.x-bk.x|+|bt.y-bk.y|≤2的点bt,令bk=bt,确定bk为曲线Cz上的点,令Cz=Cz∪{bk},并将点bk从集合B中剔除,转步骤3.2;否则若PN(bk)∈{20+21,21+22,…,27+20},找到集合B中坐标满足|bt.x-bk.x|+|bt.y-bk.y|=1的点bt,令bk=bt,确定bk为曲线Cz上的点,令Cz=Cz∪{bk},将点bk从集合B中剔除,转步骤3.2;步骤4:拆分曲线集C中所有满足σ≥0.4的曲线Ci,σ为曲线Ci的直线拟合误差,根据公式(2)计算,根据拆分得到的所有子曲线构建新的曲线集L,剔除曲线集L中曲线长度小于α的曲线;曲线的拆分规则为:根据曲线两个端点构建直线h,找到曲线上距离直线h最远的点,将其作为拆分点将曲线拆分为两条子曲线,并不断递归拆分所有满足σ≥0.4的子曲线;其中,rj表示曲线Ci上第j个像素点,NR为曲线Ci上点的数量,h为连接点r0和点的直线,d2(rj,h)表示点rj到直线h的垂直距离的平方;步骤5:利用最小二乘法对L中的每条曲线进行直线拟合,得到直线集G,直线集G中每条直线Gi的角度记作Gi.θ,Gi.θ为Gi与水平直线的夹角,且0°≤Gi.θ≤90°;步骤6:确定直线集G中直线的类别数m,具体步骤为:步骤6.1:创建直线集O,将直线集G中Gi.θ最小的直线Gi加到集合O中;步骤6.2:根据公式(3)计算直线集G中每条直线Gi与O中所有直线的最小角度差MinAngleD(Gi),若G中存在直线的最小角度差大于β,则选取直线集G中最小角度差最大的直线加到直线集O中,转步骤6.2,其中β为预先设定的相似直线的最大角度差;否则,若G中直线的最小角度差都小于β,则令m=NO,转步骤7;MinAngleD(Gi)=min{|Gi.θ-Oj.θ|,j=0,1,…,NO-1}(3)其中,min{}表示取集合中的最小值,Oj.θ表示集合O中第j条直线的角度,NO表示集合O中直线的数量;步骤7:用K-means算法将G中所有直线聚类成m个直线子集Ti,i=0,1,…,m-1;步骤8:计算每个直线集Ti对应的直线长度总和,i=0,1,…,m-1,找到直线长度总和最大的直线集,记为Tk,则Tk中长度最长的直线即为图像的关键直线。本专利技术的优点是:本专利技术所述的一种图像关键直线检测方法,包括图像预处理、直线检测和关键直线判断三个部分。本专利技术利用拆分法结合最小二乘法进行直线检测,算法效率和精准度较高,同时本专利技术先利用K-means算法先进行直线聚类,再根据类别本文档来自技高网
...
一种图像关键直线检测方法

【技术保护点】
一种图像关键直线检测方法,包括如下步骤:步骤1:将原始图像缩放为宽、高分别width和height的图像D;步骤2:对图像D进行高斯滤波和Canny边缘检测操作,得到边缘图D1,图像D1的边缘点集合为B={bi|i=0,1,…,NB‑1},bi表示图像D1上的边缘点,且点bi的横坐标和纵坐标分别记作bi.x,bi.y,NB表示集合B中元素的个数;步骤3:得到图像D1中的曲线集C;步骤4:拆分曲线集C中所有满足σ≥0.4的曲线Ci,σ为曲线Ci的直线拟合误差,根据公式(2)计算,根据拆分得到的所有子曲线构建新的曲线集L,剔除曲线集L中曲线长度小于α的曲线;曲线的拆分规则为:根据曲线两个端点构建直线h,找到曲线上距离直线h最远的点,将其作为拆分点将曲线拆分为两条子曲线,并不断递归拆分所有满足σ≥0.4的子曲线;

【技术特征摘要】
1.一种图像关键直线检测方法,包括如下步骤:步骤1:将原始图像缩放为宽、高分别width和height的图像D;步骤2:对图像D进行高斯滤波和Canny边缘检测操作,得到边缘图D1,图像D1的边缘点集合为B={bi|i=0,1,…,NB-1},bi表示图像D1上的边缘点,且点bi的横坐标和纵坐标分别记作bi.x,bi.y,NB表示集合B中元素的个数;步骤3:得到图像D1中的曲线集C;步骤4:拆分曲线集C中所有满足σ≥0.4的曲线Ci,σ为曲线Ci的直线拟合误差,根据公式(2)计算,根据拆分得到的所有子曲线构建新的曲线集L,剔除曲线集L中曲线长度小于α的曲线;曲线的拆分规则为:根据曲线两个端点构建直线h,找到曲线上距离直线h最远的点,将其作为拆分点将曲线拆分为两条子曲线,并不断递归拆分所有满足σ≥0.4的子曲线;其中,rj表示曲线Ci上第j个像素点,NR为曲线Ci上点的数量,h为连接点r0和点的直线,d2(rj,h)表示点rj到直线h的垂直距离的平方;步骤5:利用最小二乘法对L中的每条曲线进行直线拟合,得到直线集G,直线集G中每条直线Gi的角度记作Gi.θ,Gi.θ为Gi与水平直线的夹角,且0°≤Gi.θ≤90°;步骤6:确定直线集G中直线的类别数m;步骤7:用K-means算法将G中所有直线聚类成m个直线子集Ti,i=0,1,…,m-1;步骤8:计算每个直线集Ti对应的直线长度总和,i=0,1,…,m-1,找到直线长度总和最大的直线集,记为Tk,则Tk中长度最长的直线即为图像的关键直线。2.如权利要求1所述的图像关键直线检测方法,其特征在于:所述步骤3:得到图像D1中的曲线集C,具体步骤为:步骤3.1:若集合B中存在满足PN(bk)∈{20,21,…,27,20+21,21+22,…,27+20}的点bk,则将bk确定为一条新曲线Cz的起始点,初始化曲线Cz={bk},将点bk从集合B中剔除,转步骤3.2;否则,转步骤4;其中PN(bk)表示点bk的八邻域值,根据公式(1)计算得到;

【专利技术属性】
技术研发人员:高飞徐云静金一鸣吴宗林夏路何伟荣卢书芳陆佳炜张元鸣肖刚
申请(专利权)人:浙江工业大学浙江浩腾电子科技股份有限公司
类型:发明
国别省市:浙江,33

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

1