System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及二维码识别,具体而言,涉及一种复杂环境条件下二维码识别方法、系统及介质。
技术介绍
1、qr码(quick response code,二维码)因信息存储量大、保密性好、追踪性高等特性,被广泛应用。但在实际应用中,溯源环境复杂多变,qr码识别难度大大增加。现有的研究多集中在对静止或者低速下得到的清晰qr码图像进行识别,对于复制光照条件下qr研究较少。
2、现有的技术大多通过传统阈值分割后进行轮廓等特征进行筛选,得到qr区域,然后通过zbar或zxing等开源库进行解析。面对复杂环境下qr二维码定位,传统阈值分割算法存在着适应性差,进而导致qr的定位准确率大大降低。同时,对于存在仿射变换的qr码图像,直接进行解析准备率也会大大降低。另外工业图像往往都比较大,直接对原图进行扫描分析,效率上也会大大降低。因此,亟需一种复杂环境条件下二维码识别方法。
技术实现思路
1、本申请的目的在于提供一种复杂环境条件下二维码识别方法、系统及介质,本申请定位准确率高,抗环境干扰能力强,识别成功率高。
2、本申请提供了一种复杂环境条件下二维码识别方法,所述方法包括:
3、获取原始图像,利用预设检测模型提取原始图像中二维码感兴趣roi区域;
4、对所述二维码roi区域进行中值滤波并灰度化,得到roi区域灰度图像;
5、利用预设识别算法对roi区域灰度图像进行识别,若识别成功则返回二维码识别结果;
6、若识别失败,则利用预设阈值
7、利用二值化图像进行轮廓提取并确定二维码的三个回型定位角;
8、根据二维码的三个回型定位角的中心点坐标,确定出每个定位角的位置;
9、根据每个定位角的位置得到仿射变换矩阵,利用仿射变换矩阵对二值化图像进行校正;利用预设识别算法对校正后的图像进行识别,识别成功,则返回识别内容以及定位参数,否则,返回识别失败。
10、本方案中,所述利用预设阈值分割算法对灰度图像进行二值化处理,包括:
11、对灰度图像进行二值化,同时得到最大类间方差阈值outsvalue,目标区域平均像素值meanval1和背景区域平均像素值meanval2,并使用形态学开处理二值化图像。
12、本方案中,利用二值化图像进行轮廓提取并确定二维码的三个回型定位角,具体包括:
13、对二值化图像进行轮廓提取,利用轮廓筛选三个回型定位角,若未能筛选回型定位角,则更新预设阈值分割算法中分割阈值进行轮廓提取,直至提取出三个回型定位角;
14、本方案中,所述利用轮廓筛选三个回型定位角,轮廓筛选的步骤包括:
15、遍历轮廓,找到所有存在两级父轮廓的轮廓;
16、通过轮廓面积、长宽比筛选出符合条件的轮廓;
17、最后对筛选出所有轮廓按照矩形度从大到小进行排序,取出前三个轮廓即为二维码定位轮廓;
18、其中:矩形度 = 轮廓面积 / 最小外界轮廓面积。
19、本方案中,若未能筛选回型定位角,则更新预设阈值分割算法中分割阈值进行轮廓提取,直至提取出三个回型定位角,包括:
20、利用最大类间方差阈值outsvalue,目标区域平均像素值meanval1更新分割阈值,重新对灰度图像分割得到新的二值图像,更新后阈值newthred为:
21、newthred = otusvalue - (otusvalue - meanval1) / 2;
22、对二值图像进行形态学闭运算,然后轮廓提取,再次遍历轮廓,定位三个定位角轮廓;
23、若定位失败,则利用最大类间方差阈值outsvalue,目标区域平均像素值meanval1更新分割阈值,重新对灰度图像分割得到新的二值图像,更新后阈值newthred为:
24、newthred = otusvalue + ( meanval2 - otusvalue) / 2;
25、对二值图像进行形态学开运算,然后轮廓提取,再次遍历轮廓,定位三个回型定位角的轮廓。
26、本方案中,根据二维码的三个回型定位角的中心点坐标,确定出每个定位角的位置,具体包括:
27、以图像左上角为坐标原点,计算三个回型定位角的中心点的坐标,以三个坐标点计算得到三个向量,分别计算每个向量之间的夹角,通过夹角确定二维码的左上定位角和另外两个定位角;
28、本方案中,通过夹角确定二维码的左上定位角和另外两个定位角,具体为:
29、若两个向量的夹角为90度,或夹角与90度的差最小,此时两个向量所在直线的交点即为二维码左上定位角,然后通过向量的内积正负,判断出另外两个回型定位角。
30、本方案中,定义定位角轮廓中心点p1(x1,y1)、中心点p2(x2,y2),x1、x2为中心点横坐标,y1、y2为中心点纵坐标,则p1*p2= x1 * y2 - x2 * y1;
31、若p1 * p2>0,则p1在p2的顺时针方向;
32、若p1 * p2<0,则p1在p2的逆时针方向;
33、若p1 * p2 = 0,则p1和p2共线。
34、本申请第二方面提供了一种复杂环境条件下二维码识别系统,该系统包括:存储器、处理器,所述存储器中包括一种复杂环境条件下二维码识别方法程序,所述一种复杂环境条件下二维码识别方法程序被所述处理器执行时实现如下步骤:
35、获取原始图像,利用预设检测模型提取原始图像中二维码感兴趣roi区域;
36、对所述二维码roi区域进行中值滤波并灰度化,得到roi区域灰度图像;
37、利用预设识别算法对roi区域灰度图像进行识别,若识别成功则返回二维码识别结果;
38、若识别失败,则利用预设阈值分割算法对灰度图像进行二值化处理;
39、利用二值化图像进行轮廓提取并确定二维码的三个回型定位角;
40、根据二维码的三个回型定位角的中心点坐标,确定出每个定位角的位置;
41、根据每个定位角的位置得到仿射变换矩阵,利用仿射变换矩阵对二值化图像进行校正;利用预设识别算法对校正后的图像进行识别,识别成功,则返回识别内容以及定位参数,否则,返回识别失败。
42、本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括复杂环境条件下二维码识别方法程序,所述复杂环境条件下二维码识别方法程序被处理器执行时,实现所述的复杂环境条件下二维码识别方法的步骤。
43、由上可知,本申请提供的复杂环境条件下二维码识别方法、系统及介质通过获取原始图像,利用预设检测模型提取原始图像中二维码感兴趣roi区域;对所述二维码roi区域进行中值滤波并灰度化,得到roi区域灰度图像;利用预设识别算法对roi区域灰度图像进行识别,若识别成本文档来自技高网...
【技术保护点】
1.一种复杂环境条件下二维码识别方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,所述利用预设阈值分割算法对灰度图像进行二值化处理,包括:
3.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,利用二值化图像进行轮廓提取并确定二维码的三个回型定位角,具体包括:
4.根据权利要求3所述的一种复杂环境条件下二维码识别方法,其特征在于,所述利用轮廓筛选三个回型定位角,轮廓筛选的步骤包括:
5.根据权利要求3所述的一种复杂环境条件下二维码识别方法,其特征在于,若未能筛选回型定位角,则更新预设阈值分割算法中分割阈值进行轮廓提取,直至提取出三个回型定位角,包括:
6.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,根据二维码的三个回型定位角的中心点坐标,确定出每个定位角的位置,具体包括:
7.根据权利要求6所述的一种复杂环境条件下二维码识别方法,其特征在于,通过夹角确定二维码的左上定位角和另外两个定位角,具体为:
8.根据
9.一种复杂环境条件下二维码识别系统,其特征在于,该系统包括:存储器、处理器,所述存储器中包括一种复杂环境条件下二维码识别方法程序,所述一种复杂环境条件下二维码识别方法程序被所述处理器执行时实现如下步骤:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括复杂环境条件下二维码识别方法程序,所述复杂环境条件下二维码识别方法程序被处理器执行时,实现如权利要求1至7中任一项所述的复杂环境条件下二维码识别方法的步骤。
...【技术特征摘要】
1.一种复杂环境条件下二维码识别方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,所述利用预设阈值分割算法对灰度图像进行二值化处理,包括:
3.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,利用二值化图像进行轮廓提取并确定二维码的三个回型定位角,具体包括:
4.根据权利要求3所述的一种复杂环境条件下二维码识别方法,其特征在于,所述利用轮廓筛选三个回型定位角,轮廓筛选的步骤包括:
5.根据权利要求3所述的一种复杂环境条件下二维码识别方法,其特征在于,若未能筛选回型定位角,则更新预设阈值分割算法中分割阈值进行轮廓提取,直至提取出三个回型定位角,包括:
6.根据权利要求1所述的一种复杂环境条件下二维码识别方法,其特征在于,根据二维码的三个回型定位角的中心点坐标,确定出每个定位角的位置,具体包括:
<...【专利技术属性】
技术研发人员:赵鹏,陈安,周才健,董正桥,周柔刚,
申请(专利权)人:杭州汇萃智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。