买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:宁波大学科学技术学院
摘要:本发明公开了一种基于L型虚边定位的低质量DM码快速识别方法,其包括粗定位、细定位和解码三个阶段;使用预训练yolov5网络对待识别的低质量DM码图像进行粗定位,并提取得到DM码粗略位置图像;对DM码粗略位置图像进行预处理,基于预处理得到的图像,并利用两级约束筛选策略进行DM码L型虚边定位,进一步获得DM码精确位置图像;使用libdmtx方法对DM码精确位置图像进行解码,得到DM码的内容;优点是基于深度学习方法的粗定位和基于L型虚边的细定位框架,解决了L型实边易受毛刺和断开干扰的问题,从而得到了更准确的DM码定位和识别结果;两级约束筛选策略在使用了通用约束筛选策略的基础上,结合了中心约束筛选策略,提高了定位L型虚边的精度。
主权项:1.一种基于L型虚边定位的低质量DM码快速识别方法,其特征在于包括粗定位、细定位和解码三个阶段,所述粗定位阶段的具体过程如下:将待识别的低质量DM码图像记为Iorg;然后使用预训练yolov5网络对Iorg进行粗定位,得到Iorg中的一个包含完整的DM码的粗略矩形区域Rectcoarse的位置标记,位置标记包括Rectcoarse的左上角像素和右下角像素在Iorg中的坐标位置;再从Iorg中提取出粗略矩形区域Rectcoarse,作为DM码粗略位置图像,记为Icoarse;所述细定位阶段的具体步骤如下:步骤S1:对DM码粗略位置图像Icoarse进行预处理,预处理包含依次进行处理的缩放、旋转、边界裁剪和断开填补,旋转处理使DM码呈直立状态,断开填补实现DM码的所有黑module上的白色断开处的填补,预处理得到填补图像Ifilled;步骤S2:DM码L型虚边定位,具体过程为:步骤S2.1:在填补图像Ifilled的水平方向上,统计每行中的黑连续段和白连续段,将第row行中的所有黑连续段和白连续段按连接段的先后顺序构成的集合记为Shrow;在填补图像Ifilled的竖直方向上,统计每列中的黑连续段和白连续段,将第col列中的所有黑连续段和白连续段按连接段的先后顺序构成的集合记为Svcol;其中,黑连续段由一个及以上的连续黑像素组成,白连续段由一个及以上的连续白像素组成,row∈[0,Hfi,col∈[0,Wfi,Hfi表示Ifilled的高,Wfi表示Ifilled的宽;步骤S2.2:基于填补图像Ifilled的所有行中的所有连续段,利用两级约束筛选策略定位得到所有选定单行虚边,将所有选定单行虚边构成水平虚边;基于填补图像Ifilled的所有列中的所有连续段,利用两级约束筛选策略定位得到所有选定单列虚边,将所有选定单列虚边构成竖直虚边;再将水平虚边和竖直虚边构成DM码L型虚边;其中,两级约束筛选策略包含第一级通用约束筛选策略和第二级中心对称约束筛选策略,利用两级约束筛选策略定位得到选定单行虚边和选定单列虚边的具体过程如下:第一级通用约束筛选策略:在填补图像Ifilled的水平方向上,令shrow,j表示Shrow中的第j段连续段,令chrow,j表示shrow,j的颜色,chrow,j为0时说明shrow,j为黑连续段,chrow,j为1时说明shrow,j为白连续段,令lhrow,j表示shrow,j的长度,其中,j∈[0,Nhrow,Nhrow表示Shrow中的连续段的总段数;令候选单行虚边的起始段的索引为jst,令候选单行虚边的终止段的索引为jed,然后确定Ifilled中的候选单行虚边,针对Ifilled的第row行如果满足如下所有通用约束,那么确定Ifilled的第row行中有候选单行虚边,通用约束如下:L1.h1起始段为黑连续段,起始段不为Shrow中的第一段,即:chrow,jst=0,jst∈[1,Nhrow;其中,chrow,jst表示起始段的颜色;L1.h2依次遍历起始段之后的每段连续段,计算起始段与当前遍历的连续段的长度比值,若长度比值在区间[βmin,βmax]内,则认为当前遍历的连续段为候选单行虚边的连续段,若长度比值不在区间[βmin,βmax]内,则不再遍历后续的连续段;L1.h3终止段为黑连续段,终止段不为Shrow中的最后一段,终止段和起始段之间至少有1段连续段,即:chrow,jed=0,jed∈[jst+2,Nhrow-1;其中,chrow,jed表示终止段的颜色;在填补图像Ifilled的竖直方向上,令svcol,i表示Svcol中的第i段连续段,令cvcol,i表示svcol,i的颜色,cvcol,i为0时说明svcol,i为黑连续段,cvcol,i为1时说明svcol,i为白连续段,令lvcol,i表示svcol,i的长度,其中,i∈[0,Nvcol,Nvcol表示Svcol中的连续段的总段数;令候选单列虚边的起始段的索引为ist,令候选单列虚边的终止段的索引为ied,然后确定Ifilled中的候选单列虚边,针对Ifilled的第col列如果满足如下所有通用约束,那么确定Ifilled的第col列中有候选单列虚边,通用约束如下:L1.v1起始段为黑连续段,起始段不为Svcol中的第一段,即:cvcol,ist=0,ist∈[1,Nvcol;其中,cvcol,ist表示起始段的颜色;L1.v2依次遍历起始段之后的每段连续段,计算起始段与当前遍历的连续段的长度比值,若长度比值在区间[βmin,βmax]内,则认为当前遍历的连续段为候选单列虚边的连续段,若长度比值不在区间[βmin,βmax]内,则不再遍历后续的连续段;L1.v3终止段为黑连续段,终止段不为Svcol中的最后一段,终止段和起始段之间至少有1段连续段,即:cvcol,ied=0,ied∈[ist+2,Nvcol-1;其中,cvcol,ied表示终止段的颜色;第二级中心对称约束筛选策略:在填补图像Ifilled的水平方向上,令throw,j表示shrow,j的终点像素的横坐标值,令hhrow,j表示shrow,j的起始像素的横坐标值;然后从Ifilled中的所有候选单行虚边中筛选出选定单行虚边,设定Ifilled的第row行中有候选单行虚边,则针对Ifilled的第row行的候选单行虚边如果满足如下所有中心对称约束,那么将Ifilled的第row行的候选单行虚边确定为选定单行虚边,中心对称约束如下:L2.h1起始段的终点像素位于Ifilled的竖直中线的左侧,即:throw,jst<Wfi2;其中,throw,jst表示起始段的终点像素的横坐标值;L2.h2终止段的起始像素位于Ifilled的竖直中线的右侧,即:hhrow,jed>Wfi2;其中,hhrow,jed表示终止段的起始像素的横坐标值;L2.h3完全位于Ifilled的竖直中线的左侧连续段的数量和完全位于Ifilled的竖直中线的右侧连续段的数量均大于或等于4段;L2.h4完全位于Ifilled的竖直中线的左侧连续段的数量与完全位于Ifilled的竖直中线的右侧连续段的数量的差值绝对值不超过2;L2.h5候选单行虚边到Ifilled的水平中线的距离大于Ifilled的高的13,即:|yhrow-Hfi2|>Hfi3;其中,yhrow表示Ifilled的第row行的行索引,符号“||”为取绝对值符号;在填补图像Ifilled的竖直方向上,令tvcol,i表示svcol,i的终点像素的横坐标值,令hvcol,i表示svcol,i的起始像素的横坐标值;然后从Ifilled中的所有候选单列虚边中筛选出选定单列虚边,设定Ifilled的第col列中有候选单列虚边,则针对Ifilled的第col行的候选单列虚边如果满足如下所有中心对称约束,那么将Ifilled的第col行的候选单列虚边确定为选定单列虚边,中心对称约束如下:L2.v1起始段的终点像素位于Ifilled的水平中线的上方,即:tvcol,ist<Hfi2;其中,tvcol,ist表示起始段的终点像素的横坐标值;L2.v2终止段的起始像素位于Ifilled的水平中线的下方,即:hvcol,ied>Hfi2;其中,hvcol,ied表示终止段的起始像素的横坐标值;L2.v3完全位于Ifilled的水平中线的上方连续段的数量和完全位于Ifilled的水平中线的下方连续段的数量均大于或等于4段;L2.v4完全位于Ifilled的水平中线的上方连续段的数量与完全位于Ifilled的水平中线的下方连续段的数量的差值绝对值不超过2;L2.v5候选单列虚边到Ifilled的竖直中线的距离大于Ifilled的宽的13,即:|xvcol-Wfi2|>Wfi3;其中,xvcol表示Ifilled的第col列的列索引;步骤S3:DM码精确位置图像获取,具体过程为:步骤S3.1:找出DM码L型虚边的水平虚边中的中间单行虚边和竖直虚边中的中间单列虚边;再基于中间单行虚边上的两个像素的横坐标x1,x2和中间单列虚边上的两个像素的两个纵坐标y1,y2,定位DM码数据矩形区域Rectdata,Rectdata的左上角像素的坐标位置为x1,y1,Rectdata的右上角像素的坐标位置为x2,y2,x1,x2,y1,y2的确定过程如下:1当中间单列虚边位于Ifilled的竖直中线的左侧,且中间单行虚边位于Ifilled的水平中线的下方或上方时,x1等于中间单行虚边的起始段的起始像素的横坐标,x2等于中间单行虚边的终止段的起始像素的横坐标;当中间单列虚边位于Ifilled的竖直中线的右侧,且中间单行虚边位于Ifilled的水平中线的下方或上方时,x1等于中间单行虚边的起始段的终点像素的横坐标,x2等于中间单行虚边的终止段的终点像素的横坐标;2当中间单行虚边位于Ifilled的水平中线的上方,且中间单列虚边位于Ifilled的竖直中线的右侧或左侧时,y1等于中间单列虚边的起始段的起始像素的纵坐标,y2等于中间单列虚边的终止段的起始像素的纵坐标;当中间单行虚边位于Ifilled的水平中线的下方,且中间单列虚边位于Ifilled的竖直中线的右侧或左侧时,y1等于中间单列虚边的起始段的终点像素的纵坐标,y2等于中间单列虚边的终止段的终点像素的纵坐标;步骤S3.2:以DM码数据矩形区域Rectdata上靠近DM码L型实边的水平实边的水平边界为基准,向外扩展个像素宽度,得到一条新水平边界;以DM码数据矩形区域Rectdata上靠近DM码L型实边的竖直实边的竖直边界为基准,向外扩展个像素宽度,得到一条新竖直边界;以DM码L型虚边的水平虚边中的中间单行虚边为基准,向外扩展个像素宽度,得到另一条新水平边界;以DM码L型虚边的竖直虚边中的中间单列虚边为基准,向外扩展个像素宽度,得到另一条新竖直边界;两条新水平边界和两条新竖直边界定位的矩形区域作为DM码精确位置矩形区域RectDMCode;其中,表示DM码L型虚边的水平虚边中的中间单行虚边中的所有黑连续段的平均长度,表示DM码L型虚边的竖直虚边中的中间单列虚边中的所有黑连续段的平均长度;步骤S3.3:从Ifilled中提取出DM码精确位置矩形区域RectDMCode,作为图像IDMCodeRect;然后对IDMCodeRect的四周各向外扩展5个像素宽度的白色边界,得到DM码精确位置图像,记为Iprecise;所述解码阶段的具体过程如下:使用libdmtx方法对DM码精确位置图像Iprecise进行解码,得到DM码的内容Rdata。
全文数据:
权利要求:
百度查询: 宁波大学科学技术学院 一种基于L型虚边定位的低质量DM码快速识别方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。