买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明涉及钻孔柱状图框线提取与优化技术领域,具体公开了一种钻孔柱状图的图像框线提取方法、装置及系统,包括以下步骤:步骤100,输入图像格式钻孔柱状图;步骤200,输入图像预处理;步骤300,框线直线检测与直线簇合并及细化;步骤400,合并与细化结果直线后处理;步骤500,输出为图像钻孔柱状图中的表格框线中水平与竖直框线的矢量文件,结束。本发明针对钻孔柱状图表格框线提取需求,通过对输入图像进行预处理,去除框线外的其他噪声元素,以增强检测准确性,并结合钻孔柱状图表格框线组织规律设定拓扑约束,从后处理角度对检测结果中的多直线簇进行准确合并与细化,并进行修正,提升框线检测结果的准确性与完整性。
主权项:1.一种钻孔柱状图的图像框线提取方法,其特征在于,包括以下步骤:步骤100,输入图像格式钻孔柱状图;步骤200,输入图像预处理;步骤300,框线直线检测与直线簇合并及细化;步骤300具体为,直线检测与直线簇合并与细化过程分水平框线与竖直框线两部分进行,对水平框线进行提取与处理;步骤300包括,步骤301,读取水平框线图像Horizontal_img,利用Opencv的LSD直线检测算法对Horizontal_img中的框线进行检测,得到初步检测结果,水平框线簇Horline_set,簇内每一条直线以两端端点坐标的形式表达并存储;步骤302,遍历Horline_set内所有水平线,将集合内直线按照高度y升序排列;进入步骤303对Horline_set同一高度上的直线簇基于拓扑相邻或相接关系进行聚类;步骤303,若Horline_set内仍有未分类线,则进入步骤3031;否则进入步骤304;其中,步骤3031,对排序后Horline_set进行遍历,初始化all_hor_class存储所有高度的直线簇类、单一高度直线簇类hor_class,并将hor_class加入all_hor_class,并将第一条直线line1=[x1,y1,x2,y1]加入hor_class,并标记y,y=y1,后从Horline_set中删除line1;后进入步骤3032;步骤3032,继续遍历集合内直线,读取下一条直线line2=[x3,y2,x4,y2],若line2高度y2与标记y差值,|y-y2|≤1,则将line2加入hor_class,从Horline_set中删除line2,更新标记y=y2,进入步骤303,否则进入步骤3031;步骤304,遍历聚类完成所有直线簇类集合all_hor_class,若仍有未遍历完成直线簇类,则进入步骤3041,直至所有水平直线簇类处理完毕,进入步骤305;步骤3041,读取直线簇类hor_class,初始化x坐标范围集合xrange_set,y坐标集合y_set,合并后直线x坐标集合xrange_merge_set;进入步骤3042;步骤3042,遍历hor_class内所有直线,记直线linei=[xi1,yi,xi2,yi],i为线在集合中的索引,i=1、2、3、…、n,将yi加入y_set,[xi1,xi2]加入xrange_set,将遍历完成的hor_class删除,进入步骤3043;步骤3043,读取y_set,对y_set内所有元素求算数平均,记为y_mean,进入步骤3044;步骤3044,遍历x_range_set,初始化直线x坐标范围x_range=[x11,x12],并加入xrange_merge_set,进入步骤3045;步骤3045,继续遍历,得到x坐标范围x_range=[x21,x22],若x21∈[x11,x12],且x22x12,则更新x12=x22,若x22x12则不更新,删除已完成遍历的线,若仍有x左边范围未完成遍历,则进入步骤3044,否则进入步骤3046;步骤3046,遍历融合后x坐标范围xrange_merge_set,内部元素xrange_mergei=[xi1,xi2],输出直线[xi1,y_mean,xi2,y_mean],并加入集合mergeline_set;进入步骤304;步骤305,对竖直框线检测结果进行处理,读取竖直框线图像Vertical_img,利用Opencv的LSD直线检测算法对Vertical_img中的框线进行检测,得到初步检测结果,竖直框线簇Vertical_set,簇内每一条直线以两端端点坐标的形式表达并存储;后进入步骤306;步骤306,遍历Verline_set内所有水平线,将集合内直线按照水平位置x升序排列;进入步骤307,对Verline_set同一高度上的直线簇基于拓扑相邻或相接关系进行聚类;步骤307,若Verline_set内仍有未分类线,则进入步骤3071;否则进入步骤308;其中,步骤3071,对排序后Verline_set进行遍历,初始化所有直线簇类all_ver_class,直线簇类ver_class,并将ver_class加入all_ver_class,并将第一条直线line1=[x1,y1,x1,y2]加入ver_class,并标记x,x=x1,后从Verline_set中删除line1;后进入步骤3032;步骤3072,继续遍历集合内直线,读取下一条直线line2=[x2,y3,x2,y4],若line2高度y2与标记y差值,|x-x2|≤1,则将line2加入ver_class,从Verline_set中删除line2,更新标记x=x2,进入步骤308,否则进入步骤3071;步骤308,遍历聚类完成所有直线簇类集合all_ver_class,若仍有未遍历完成直线簇类,则进入步骤3081,直至所有直线簇类处理完毕,进入步骤400;其中,步骤3081读取直线簇类ver_class,初始化y坐标范围集合yrange_set,x坐标集合x_set,合并后直线y坐标集合yrange_merge_set;进入步骤3082;步骤3082,遍历ver_class内所有直线,记直线linei=[xi,yi1,xi,yi2],i为线在集合中的索引,i=1、2、3、…、n,将xi加入x_set,[yi1,yi2]加入yrange_set,将遍历完成的ver_class删除,进入步骤3043;步骤3083,读取x_set,对x_set内所有元素求算数平均,记为x_mean,进入步骤3084;步骤3084,遍历y_range_set,初始化直线y坐标范围y_range=[y11,y12],并加入yrange_merge_set,进入步骤3085;步骤3085,继续遍历,得到y坐标范围y_range=[y21,y22],若y21∈[y11,y12],且y22y12,则更新y12=y22,若y22y12则不更新,删除已完成遍历的线,若仍有y坐标范围未完成遍历,则进入步骤3084,否则进入步骤3086;步骤3086,遍历融合后y坐标范围yrange_merge_set,内部元素yrange_mergei=[yi1,yi2],输出直线[x_mean,yi1,x_mean,yi2],并加入集合mergeline_set;进入步骤308;步骤400,合并与细化结果直线后处理;步骤500,输出为图像钻孔柱状图中的表格框线中水平与竖直框线的矢量文件,结束。
全文数据:
权利要求:
百度查询: 中南大学 一种钻孔柱状图的图像框线提取方法、装置及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。