CN116050445A - 二维码识别方法及设备 - Google Patents
二维码识别方法及设备 Download PDFInfo
- Publication number
- CN116050445A CN116050445A CN202211665017.XA CN202211665017A CN116050445A CN 116050445 A CN116050445 A CN 116050445A CN 202211665017 A CN202211665017 A CN 202211665017A CN 116050445 A CN116050445 A CN 116050445A
- Authority
- CN
- China
- Prior art keywords
- picture
- dimensional code
- data
- image
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003044 adaptive effect Effects 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000005530 etching Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 6
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 229910052705 radium Inorganic materials 0.000 description 1
- HCWPIIXVSYCSAN-UHFFFAOYSA-N radium atom Chemical compound [Ra] HCWPIIXVSYCSAN-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明的目的是提供一种二维码识别方法,通过将获取到的彩色二维码图片转换为灰度图片;选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,对于产线的二维码,不管是打印的或者是镭雕的二维码,出现不清晰,位置的偏差,本申请都可以识别兼容,不用返工二维码进行重工,起到降本节约的作用,而且效率也大大的提升。本申请强大的算法对微型二维码也能准确识别,大大提高了业界先进的水平,打破了行业内扫码头的功能限制。
Description
技术领域
本发明涉及一种二维码识别方法及设备。
背景技术
由于目前的扫码枪和扫码头通用性和匹配性以及灵活性较差,而且价格偏高,软件开发可扩展方案差,兼容性也差,不满足现有的使用需求。
发明内容
本发明的一个目的是提供一种二维码识别方法及设备。
根据本发明的一个方面,提供了一种二维码识别方法,该方法包括:
将获取到的彩色二维码图片转换为灰度图片;
选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
进一步的,上述方法中,将获取到的彩色二维码图片转换为灰度图片,包括:
通过如下公式将获取到的彩色二维码图片转换为灰度图片并将灰度图片中的图像亮暗对调,以得到亮暗对调的灰度图片:
s=T(r)=L-1-r,
其中,T是灰度变换函数;r是变换前的彩色二维码图片某个像素点灰度;s是变换后的像素点的灰度,L为图像灰度级,0~255灰度图像的灰度级为256。
进一步的,上述方法中,选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据,包括:
采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据;
若尝试获取第一解码数据失败,则采用Zbar解码库,将亮暗对调的灰度图片进行解码,以得到第二解码数据。
进一步的,上述方法中,采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据,包括:
指定HSV颜色空间范围以判定彩色二维码图片的颜色;
基于判定彩色二维码图片的颜色,提取彩色二维码图片的轮廓;
从提取到的彩色二维码图片的轮廓中找出最大轮廓面积;
设定斜线y=kx+b,其中,x为彩色二维码图的x轴坐标,y为彩色二维码图的y轴坐标,k为斜率,b为高度,k和b根据轮廓范围确定;用所述斜线去切最大轮廓,以得到切点坐标,所述切点坐标包括:彩色二维码图片的左上角顶点坐标和右下角顶点坐标;
基于彩色二维码图片的左上角顶点坐标和右下角顶点坐标画出绿色矩形框;
将绿色矩形框作为ROI区域,基于ROI区域得到第一解码数据。
进一步的,上述方法中,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据,包括:
基于周围邻域像素的分布,确定所述第一解码数据或第二解码数据中每个像素位置处的二值化阈值;
将所述第一解码数据或第二解码数据中亮度较高的图像区域的二值化阈值设置为大于预设阈值;将所述解码数据中亮度较低的图像区域的二值化阈值设置为小于预设阈值;
分别为所述第一解码数据或第二解码数据中不同亮度、对比度和纹理的局部图像区域,设置对应的局部二值化阈值;
基于所述每个像素位置处的二值化阈值、亮度较高的图像区域的二值化阈值、亮度较低的图像区域的二值化阈值和局部二值化阈值,得到第一图片数据。
进一步的,上述方法中,对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图,包括:
扫描第一图片数据中的每一个像素,用结构图像的结构元素与其覆盖的清晰二值图做与运算,如果与运算的结果都为1,结构图像的该像素为1,否则为0,以得到缩小一圈的第一二值图;
扫描第一二值图的每一个像素,用结构图像的结构像素与其覆盖的第一二值图像做与运算,如果与运算的结果都为0,结构图像的该结构像素为0,否则为1,以得到扩大一圈的第二二值图。
进一步的,上述方法中,对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,包括:
在0-255的二值化范围内,设定二值化步长,每设定一个步长对所述第二二值图解码一次,以得到二维码数据。
根据本发明的另一方面,还提供一种二维码识别设备,其中,该设备包括:
第一装置,用于将获取到的彩色二维码图片转换为灰度图片;
第二装置,用于选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
第三装置,用于将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
第四装置,用于对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
第五装置,用于对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将获取到的彩色二维码图片转换为灰度图片;
选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
将获取到的彩色二维码图片转换为灰度图片;
选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
根据本发明的另一方面,还提供了一种,该设备包括:
与现有技术相比,本发明通过将获取到的彩色二维码图片转换为灰度图片;选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,对于产线的二维码,不管是打印的或者是镭雕的二维码,出现不清晰,位置的偏差,本申请都可以识别兼容,不用返工二维码进行重工,起到降本节约的作用,而且效率也大大的提升。本申请强大的算法对微型二维码也能准确识别,大大提高了业界先进的水平,打破了行业内扫码头的功能限制。
由于目前的扫码枪和扫码头通用性和匹配性以及灵活性较差,而且价格偏高,软件开发可扩展方案差,兼容性也差,不满足现有的使用需求,本申请将首次使用强大的Zbar和Zxing扫码库调用,去识别微型二维码的功能,能够快速、精准的扫码成功率,而且接口简单,同时提高应用领域,如智造、生产、测试、自动化测试领域,起到对扫码枪和扫码头的成本投入,而且对智能智造起到很大作用,解决了微型二维码识别的难题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一实施例的二维码识别方法的流程图;
图2示出根据本发明一实施例的将彩色二维码图片转换为灰度图片示意图;
图3示出本发明一实施例的数据总库的选择示意图;
图4示出本发明一实施例的二维码ROI区域获取的示意图;
图5示出本发明一实施例的高斯自适应阈值化处理的示意图;
图6示出本发明一实施例的开运算和处理图传入解码库的示意图;
图7示出本发明一实施例的自动控制阈值化处理的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1至7所示,本发明提供一种二维码识别方法,包括:
步骤S1,将获取到的彩色二维码图片转换为灰度图片;
步骤S2,选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
步骤S3,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
步骤S4,对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
步骤S5,对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
在此,步骤S5中若未得到二维码数据,可以循环执行步骤S4和步骤S5,直到得到二维码数据。
现有的扫码枪和扫码头形形色色,型号多,杂,乱,本申请可以完全兼容并替代整合,这些多,杂、乱等现象。
其次现有的扫码枪和扫码头兼容性差和扩展能力差,不能灵活运用,本申请可以完全兼并这些原有的功能,以及弥补他们的不足,完全涵盖其中。
对于产线的二维码,不管是打印的或者是镭雕的二维码,出现不清晰,位置的偏差,本申请都可以识别兼容,不用返工二维码进行重工,起到降本节约的作用,而且效率也大大的提升。
本申请强大的算法对微型二维码也能准确识别,大大提高了业界先进的水平,打破了行业内扫码头的功能限制。
如图2所示,本发明的二维码识别方法一实施例中,步骤S1,将获取到的彩色二维码图片转换为灰度图片,包括:
步骤S11,通过如下公式将获取到的彩色二维码图片转换为灰度图片并将灰度图片中的图像亮暗对调,以得到亮暗对调的灰度图片:
s=T(r)=L-1-r,
其中,T是灰度变换函数;r是变换前的彩色二维码图片某个像素点灰度;s是变换后的像素点的灰度,L为图像灰度级,0~255灰度图像的灰度级为256。
在此,本实施例通过将图片转换成灰度图片,方便下一步对图片进一步使用算法解析;灰度变换指对图像的单个像素进行操作,主要以对比度和阈值处理为目的。
将图像亮暗对调,可以改善图像的质量,使图像能够显示更多的细节,提高图像的对比度(对比度拉伸),并可以有选择的突出图像感兴趣的特征或者抑制图像中不需要的特征,可以有效的改变图像的直方图分布,使像素的分布更为均匀。
如图3所示,本发明的二维码识别方法一实施例中,步骤S2,选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据,包括:
步骤S21,采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据;
步骤S22,若尝试获取第一解码数据失败,则采用Zbar解码库,将亮暗对调的灰度图片进行解码,以得到第二解码数据。
在此,本申请接口广扩展性好,集合了Zxing和ZBar扫码库:这两个库覆盖了所有二维码类型,例如日常常见的QR Code,Data Matrix,Code One等。本申请可以轻松与公司所有的工具进行联通使用,完全为即拿即用的效果,方便,快捷为技术人员提供了很大的便利。
可以通过CMAKE工具编译修改ZXing和Zbar解码库源码,生成新的解码库文件。两个库作用都是把二维码图片,解析成二维码数据,不同的是二维码的类型,比如说Zbar库这个库处理很多二维码类型,几乎涵盖所有类型二维码,唯一不行的就是Data Matrix二维码,ZXing库就是弥补这个唯一的缺点。
根据灰度图片的二维码类型自动识别判定选择库文件,条件逻辑:symbol_begin()->get_data()数据输出逻辑,
自动识别方法中,如先选择A:ZXing解码库方法执行,如果说执行失败,再自动切换B:Zbar解码库方法。
另外,也可以采用手动方法:根据二维码类型,手动选择ZXing解码库或Zbar解码库,此位置软体窗口释放选择按钮。
判断是否读到解码数据;当能成功解码时输出二维码的解码数据(一串字符),当读不到数据或者数据类型错误时,解码返回数据为空,也就是当解码成功时,解码库接口返回解码数据程序退出,其余情况返回数据为空直到超时退出。
由于目前的扫码枪和扫码头通用性和匹配性以及灵活性较差,而且价格偏高,软件开发可扩展方案差,兼容性也差,不满足现有的使用需求,本申请将首次使用强大的Zbar和Zxing扫码库调用,去识别微型二维码的功能,能够快速、精准的扫码成功率,而且接口简单,同时提高应用领域,如智造、生产、测试、自动化测试领域,起到对扫码枪和扫码头的成本投入,而且对智能智造起到很大作用,解决了微型二维码识别的难题。
如图4所示,本发明的二维码识别方法一实施例中,步骤S21,采用ZXing解码库,将获取到的彩色二维码图片进行解码,尝试获取第一解码数据,包括:
步骤S211,指定HSV颜色空间范围以判定彩色二维码图片的颜色;
步骤S212,基于判定彩色二维码图片的颜色,提取彩色二维码图片的轮廓;
步骤S213,从提取到的彩色二维码图片的轮廓中找出最大轮廓面积;
步骤S213,设定斜线y=kx+b,其中,x为彩色二维码图的x轴坐标,y为彩色二维码图的y轴坐标,k为斜率,b为高度,k和b根据轮廓范围确定;用所述斜线去切最大轮廓,以得到切点坐标,所述切点坐标包括:彩色二维码图片的左上角顶点坐标和右下角顶点坐标;
步骤S214,基于彩色二维码图片的左上角顶点坐标和右下角顶点坐标画出绿色矩形框;
步骤S215,将绿色矩形框作为ROI区域,基于ROI区域得到第一解码数据。
如图5所示,本发明的二维码识别方法一实施例中,步骤S3,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据,包括:
步骤S31,基于周围邻域像素的分布,确定所述第一解码数据或第二解码数据中每个像素位置处的二值化阈值;
在此,每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的;
步骤S32,将所述第一解码数据或第二解码数据中亮度较高的图像区域的二值化阈值设置为大于预设阈值;将所述解码数据中亮度较低的图像区域的二值化阈值设置为小于预设阈值;
在此,亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小;
步骤S33,分别为所述第一解码数据或第二解码数据中不同亮度、对比度和纹理的局部图像区域,设置对应的局部二值化阈值;
步骤S34,基于所述每个像素位置处的二值化阈值、亮度较高的图像区域的二值化阈值、亮度较低的图像区域的二值化阈值和局部二值化阈值,得到第一图片数据。
在此,高斯自适应阈值化可以将亮度不均的图片进行优化,使处理后的图片亮度平衡。
如图6所示,本发明的二维码识别方法一实施例中,步骤S4,对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图,包括:
步骤S41,扫描第一图片数据中的每一个像素,用结构图像的结构元素与其覆盖的清晰二值图做“与”运算,如果都为1,结构图像的结构元素为1,否则为0,以得到缩小一圈的第一二值图;
在此,通过腐蚀算法,使所述清晰二值图缩小一圈,删除对象边界的某些像素,其运算过程就是使用用3X3的结构元素,扫描清晰二值图中的每一个像素,用结构元素与其覆盖的清晰二值图做“与”运算,如果都为1,结构图像的结构元素为1,否则为0,结果就是使清晰二值图缩小一圈;
可以通过预设函数的指定的核元素去腐蚀第一二值图,所述核元素,核元素有一个可定义的锚点;获取核元素覆盖区域最小像素值且代替锚点的像素,以得到第一二值图;
腐蚀函数使用一个指定的核元素去腐蚀第一二值图,核元素有一个可定义的锚点,我们叫他内核中心点,腐蚀操作时,获取核元素覆盖区域最小像素值且代替锚点的像素,最小值通过以下公式获取:
步骤S42,扫描第一二值图的每一个像素,用结构图像的结构元素与其覆盖的第一二值图像做“与”运算,如果都为0,结构图像的结构元素为0,否则为1,以得到扩大一圈的第二二值图;
在此,膨胀算法使图像扩大一圈,给图像中的对象边界添加像素,其运算过程就是用3X3的结构元素,扫描第一二值图的每一个像素,用结构元素与其覆盖的二值图像做“与”运算,如果都为0,结构图像的该像素为0,否则为1。结果就是使第一二值图像扩大一圈;
膨胀函数使用一个指定的核元素去膨胀源图像,内核有一个可定义的锚点,我们叫他内核中心点,膨胀操作时,获取内核覆盖区域最大像素值,并代替锚点的像素,最大值通过以下公式获取:
如图7所示,本发明的二维码识别方法一实施例中,步骤S5,对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,包括:
步骤S51,在0-255的二值化范围内,设定二值化步长,每设定一个步长对所述第二二值图解码一次,以得到二维码数据。
在此,得到清晰的图片数据后,再根据自动控制阈值化处理。可以在0-255的二值化范围内,设定二值化步长,每设定一个步长解码一次;该算法可以适应不同光源环境下二值化阈值,加强识别率;步长越小识别率越高,处理速度越慢。
具体的,可以使用while循环语句方法,并使用结果为空与二值化的最大门限0-255作为判定条件,控制二值化每15步,解码一次,直到有数据后退出结束。
综上所述,本发明具有如下优点:
①通用性:
A:识别二维码类型上,覆盖所有二维码类型的识别,对难以识别的微型二维码(3mm×3mm以下)识别率可以达到100%;
B:通用的调用方式,本专利代码使用C++控制台类型开发,控制命令可以通过Windows控制台发送,程序就可以识别并返回结果.解决龙旗工具框架无法使用解码库的问题。
②高效性:
由于程序是通过摄像头连续获取二维码图片,对每获取的一帧图片进行多个不同的图像处理,在每个图片处理过程中加入解码过程,直到获取到数据或者超时退出.在摄像头调整位置良好的时,最快可以在获取的第一帧图片就解析出二维码数据,大大提高了读码效率。
③低成本:
程序对使用的摄像头要求低,只需要满足获取到的图片完整,摄像头拍摄的图片分辨率在640×480pi以上即可。
本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
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所述的方法,其中,将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据,包括:
基于周围邻域像素的分布,确定所述第一解码数据或第二解码数据中每个像素位置处的二值化阈值;
将所述第一解码数据或第二解码数据中亮度较高的图像区域的二值化阈值设置为大于预设阈值;将所述解码数据中亮度较低的图像区域的二值化阈值设置为小于预设阈值;
分别为所述第一解码数据或第二解码数据中不同亮度、对比度和纹理的局部图像区域,设置对应的局部二值化阈值;
基于所述每个像素位置处的二值化阈值、亮度较高的图像区域的二值化阈值、亮度较低的图像区域的二值化阈值和局部二值化阈值,得到第一图片数据。
6.根据权利要求5所述的方法,其中,对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图,包括:
扫描第一图片数据中的每一个像素,用结构图像的结构元素与其覆盖的清晰二值图做与运算,如果与运算的结果都为1,结构图像的该像素为1,否则为0,以得到缩小一圈的第一二值图;
扫描第一二值图的每一个像素,用结构图像的结构像素与其覆盖的第一二值图像做与运算,如果与运算的结果都为0,结构图像的该结构像素为0,否则为1,以得到扩大一圈的第二二值图。
7.根据权利要求6所述的方法,其中,对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据,包括:
在0-255的二值化范围内,设定二值化步长,每设定一个步长对所述第二二值图解码一次,以得到二维码数据。
8.一种二维码识别设备,其中,该设备包括:
第一装置,用于将获取到的彩色二维码图片转换为灰度图片;
第二装置,用于选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
第三装置,用于将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
第四装置,用于对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
第五装置,用于对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
9.一种基于计算的设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
将获取到的彩色二维码图片转换为灰度图片;
选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
将获取到的彩色二维码图片转换为灰度图片;
选择库文件,通过选择的库文件将灰度图片进行解码,得到解码数据;
将所述解码数据进行高斯自适应阈值化处理,以得到第一图片数据;
对所述第一图片数据先腐蚀再膨胀来消除图片毛边毛刺,以得到清晰二值图;
对所述清晰二值图进行自动控制阈值化处理,以得到二维码数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665017.XA CN116050445A (zh) | 2022-12-22 | 2022-12-22 | 二维码识别方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665017.XA CN116050445A (zh) | 2022-12-22 | 2022-12-22 | 二维码识别方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116050445A true CN116050445A (zh) | 2023-05-02 |
Family
ID=86122831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211665017.XA Withdrawn CN116050445A (zh) | 2022-12-22 | 2022-12-22 | 二维码识别方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116050445A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117452121A (zh) * | 2023-10-30 | 2024-01-26 | 乐沪电子有限公司 | 通过扫码器测试电子产品的方法、装置和计算机存储介质 |
-
2022
- 2022-12-22 CN CN202211665017.XA patent/CN116050445A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117452121A (zh) * | 2023-10-30 | 2024-01-26 | 乐沪电子有限公司 | 通过扫码器测试电子产品的方法、装置和计算机存储介质 |
CN117452121B (zh) * | 2023-10-30 | 2024-05-24 | 乐沪电子有限公司 | 通过扫码器测试电子产品的方法、装置和计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
US6473523B1 (en) | Portable text capturing method and device therefor | |
US20140286542A1 (en) | Methods and systems for determining image processing operations relevant to particular imagery | |
CN112990205B (zh) | 手写字符样本的生成方法及装置、电子设备、存储介质 | |
EP3550472B1 (en) | Method and device for obtaining an image of a form sheet | |
CN107862235B (zh) | 二维码的位置定位方法、装置及终端设备 | |
CN111461100A (zh) | 一种票据识别方法、装置、电子设备和存储介质 | |
CN104751093A (zh) | 用于获取宿主设备显示的图像识别码的方法和装置 | |
CN113569840A (zh) | 基于自注意力机制的表单识别方法、装置及存储介质 | |
CN113688838B (zh) | 红色笔迹提取方法、系统、可读存储介质及计算机设备 | |
CN111461070A (zh) | 文本识别方法、装置、电子设备及存储介质 | |
CN116050445A (zh) | 二维码识别方法及设备 | |
CN115690102A (zh) | 缺陷检测方法、装置、电子设备、存储介质和程序产品 | |
CN111144156A (zh) | 一种图像数据处理方法和相关装置 | |
CN111914846A (zh) | 版面数据合成方法、设备及存储介质 | |
CN117132797A (zh) | 一种lcd显示屏polmark定位检测方法及系统 | |
CN116976372A (zh) | 基于方形基准码的图片识别方法、装置、设备及介质 | |
US6978042B1 (en) | Color image segmentation method | |
CN116485992A (zh) | 一种复合型三维扫描方法和装置、三维扫描仪 | |
CN111242121B (zh) | 一种基于svm的对联智能分拣方法及存储介质 | |
CN110349111B (zh) | 一种包含二维码图像的矫正方法和装置 | |
CN110399754B (zh) | 自动化信息重现系统 | |
CN108573253B (zh) | 车牌字符二值图的生成方法 | |
CN111476800A (zh) | 一种基于形态学操作的文字区域检测方法及装置 | |
EP3923189A1 (en) | Generation of metadata from graphical inlays inserted in video frames |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230502 |
|
WW01 | Invention patent application withdrawn after publication |