二维码识别方法及设备技术

技术编号:37434035 阅读:17 留言:0更新日期:2023-05-05 19:48
本发明专利技术的目的是提供一种二维码识别方法,通过将获取到的彩色二维码图片转换为灰度图片;选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,对于产线的二维码,不管是打印的或者是镭雕的二维码,出现不清晰,位置的偏差,本申请都可以识别兼容,不用返工二维码进行重工,起到降本节约的作用,而且效率也大大的提升。本申请强大的算法对微型二维码也能准确识别,大大提高了业界先进的水平,打破了行业内扫码头的功能限制。功能限制。功能限制。

【技术实现步骤摘要】
二维码识别方法及设备


[0001]本专利技术涉及一种二维码识别方法及设备。

技术介绍

[0002]由于目前的扫码枪和扫码头通用性和匹配性以及灵活性较差,而且价格偏高,软件开发可扩展方案差,兼容性也差,不满足现有的使用需求。

技术实现思路

[0003]本专利技术的一个目的是提供一种二维码识别方法及设备。
[0004]根据本专利技术的一个方面,提供了一种二维码识别方法,该方法包括:
[0005]将获取到的彩色二维码图片转换为灰度图片;
[0006]选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
[0007]将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
[0008]对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
[0009]对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
[0010]进一步的,上述方法中,将获取到的彩色二维码图片转换为灰度图片,包括:
[0011]通过如下公式将获取到的彩色二维码图片转换为灰度图片并将灰度图片中的图像亮暗对调,以得到亮暗对调的灰度图片:
[0012]s=T(r)=L
‑1‑
r,
[0013]其中,T是灰度变换函数;r是变换前的彩色二维码图片某个像素点灰度;s是变换后的像素点的灰度,L为图像灰度级,0~255灰度图像的灰度级为256。
[0014]进一步的,上述方法中,选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据,包括:
[0015]采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据;
[0016]若尝试获取第一解码数据失败,则采用Zbar解码库,将亮暗对调的灰度图片进行解码,以得到第二解码数据。
[0017]进一步的,上述方法中,采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据,包括:
[0018]指定HSV颜色空间范围以判定彩色二维码图片的颜色;
[0019]基于判定彩色二维码图片的颜色,提取彩色二维码图片的轮廓;
[0020]从提取到的彩色二维码图片的轮廓中找出最大轮廓面积;
[0021]设定斜线y=kx+b,其中,x为彩色二维码图的x轴坐标,y为彩色二维码图的y轴坐标,k为斜率,b为高度,k和b根据轮廓范围确定;用所述斜线去切最大轮廓,以得到切点坐标,所述切点坐标包括:彩色二维码图片的左上角顶点坐标和右下角顶点坐标;
[0022]基于彩色二维码图片的左上角顶点坐标和右下角顶点坐标画出绿色矩形框;
[0023]将绿色矩形框作为ROI区域,基于ROI区域得到第一解码数据。
[0024]进一步的,上述方法中,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据,包括:
[0025]基于周围邻域像素的分布,确定所述第一解码数据或第二解码数据中每个像素位置处的二值化阈值;
[0026]将所述第一解码数据或第二解码数据中亮度较高的图像区域的二值化阈值设置为大于预设阈值;将所述解码数据中亮度较低的图像区域的二值化阈值设置为小于预设阈值;
[0027]分别为所述第一解码数据或第二解码数据中不同亮度、对比度和纹理的局部图像区域,设置对应的局部二值化阈值;
[0028]基于所述每个像素位置处的二值化阈值、亮度较高的图像区域的二值化阈值、亮度较低的图像区域的二值化阈值和局部二值化阈值,得到第一图片数据。
[0029]进一步的,上述方法中,对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图,包括:
[0030]扫描第一图片数据中的每一个像素,用结构图像的结构元素与其覆盖的清晰二值图做与运算,如果与运算的结果都为1,结构图像的该像素为1,否则为0,以得到缩小一圈的第一二值图;
[0031]扫描第一二值图的每一个像素,用结构图像的结构像素与其覆盖的第一二值图像做与运算,如果与运算的结果都为0,结构图像的该结构像素为0,否则为1,以得到扩大一圈的第二二值图。
[0032]进一步的,上述方法中,对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,包括:
[0033]在0

255的二值化范围内,设定二值化步长,每设定一个步长对所述第二二值图解码一次,以得到二维码数据。
[0034]根据本专利技术的另一方面,还提供一种二维码识别设备,其中,该设备包括:
[0035]第一装置,用于将获取到的彩色二维码图片转换为灰度图片;
[0036]第二装置,用于选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
[0037]第三装置,用于将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
[0038]第四装置,用于对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
[0039]第五装置,用于对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
[0040]根据本专利技术的另一方面,还提供一种基于计算的设备,其中,包括:
[0041]处理器;以及
[0042]被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
[0043]将获取到的彩色二维码图片转换为灰度图片;
[0044]选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
[0045]将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
[0046]对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
[0047]对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
[0048]根据本专利技术的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
[0049]将获取到的彩色二维码图片转换为灰度图片;
[0050]选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
[0051]将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
[0052]对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
[0053]对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
[0054]根据本专利技术的另一方面,还提供了一种,该设备包括:
[0055]与现有技术相比,本专利技术通过将获取到的彩色二维码图片转换为灰度图片;选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,对于产线的二维码,不管是打印的或者是镭雕的二维码,出现不清晰,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种二维码识别方法,其中,该方法包括:将获取到的彩色二维码图片转换为灰度图片;选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。2.根据权利要求1所述的方法,其中,将获取到的彩色二维码图片转换为灰度图片,包括:通过如下公式将获取到的彩色二维码图片转换为灰度图片并将灰度图片中的图像亮暗对调,以得到亮暗对调的灰度图片:s=T(r)=L
‑1‑
r,其中,T是灰度变换函数;r是变换前的彩色二维码图片某个像素点灰度;s是变换后的像素点的灰度,L为图像灰度级,0~255灰度图像的灰度级为256。3.根据权利要求2所述的方法,其中,选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据,包括:采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据;若尝试获取第一解码数据失败,则采用Zbar解码库,将亮暗对调的灰度图片进行解码,以得到第二解码数据。4.根据权利要求3所述的方法,其中,采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据,包括:指定HSV颜色空间范围以判定彩色二维码图片的颜色;基于判定彩色二维码图片的颜色,提取彩色二维码图片的轮廓;从提取到的彩色二维码图片的轮廓中找出最大轮廓面积;设定斜线y=kx+b,其中,x为彩色二维码图的x轴坐标,y为彩色二维码图的y轴坐标,k为斜率,b为高度,k和b根据轮廓范围确定;用所述斜线去切最大轮廓,以得到切点坐标,所述切点坐标包括:彩色二维码图片的左上角顶点坐标和右下角顶点坐标;基于彩色二维码图片的左上角顶点坐标和右下角顶点坐标画出绿色矩形框;将绿色矩形框作为ROI区域,基于ROI区域得到第一解码数据。5.根据权利要求4所述的方法,其中,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据,包括:基于周围邻域像素的分布,确定所述第一解码数据或第二解码数据中每个像素位置处的二值化阈值;将所述第一解码数据或第二解码数据中亮度较高的图像区域的二值化阈值设置为大于预设阈值;将所述解码数据中亮度较低的图像区域的二值化阈值设置为小于预设阈值;分别为所述第一解码数据或第二解码数据中不同亮度、对比度和纹理的局部图像区域,设置对应的...

【专利技术属性】
技术研发人员:陈春明叶二帅王建明胡江波程黎辉关亚东
申请(专利权)人:南昌龙旗智能科技有限公司
类型:发明
国别省市:

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

1