CN116739016A - 一种二维码识别方法、装置、设备及可读存储介质 - Google Patents
一种二维码识别方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116739016A CN116739016A CN202310418190.8A CN202310418190A CN116739016A CN 116739016 A CN116739016 A CN 116739016A CN 202310418190 A CN202310418190 A CN 202310418190A CN 116739016 A CN116739016 A CN 116739016A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- polygon
- image
- contour
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000006870 function Effects 0.000 claims description 55
- 238000003708 edge detection Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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/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
- 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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种二维码识别方法、装置、设备及可读存储介质,应用于图像识别领域,该方法包括:获取写有二维码的胶片图像;提取胶片图像中的目标轮廓;根据目标轮廓确定二维码区域。本申请通过识别目标轮廓来获取包含二维码区域,不需要增加额外的定位标记,且相邻2个二维码之间可以有不同的间距,均可以完成各个二维码的准确识别,相较于识别二维码3个定位标记的方法,不需要了解二维码结构,而且本方法识别难度低,计算量也较少,节约时间,提高了识别效率,而且应用范围更加广泛。
Description
技术领域
本申请涉及图像识别领域,特别涉及一种二维码识别方法、装置、设备及可读存储介质。
背景技术
现阶段,针对胶片中的二维码的识别方法,一般采取识别定位点的方法确定二维码区域,例如,识别二维码本身固定的3个定位标记;或者还有增加额外的定位标记,识别额外的定位标记确定二维码区域。但该方法存在识别复杂、精准度差的缺点。
发明内容
有鉴于此,本申请的目的在于提供了一种二维码识别方法、装置、设备及可读存储介质,解决了现有技术中的胶片中二维码识别过程复杂,效率低的问题。
为解决上述技术问题,本申请提供了一种二维码识别方法,包括:
获取写有二维码的胶片图像;
提取所述胶片图像中的目标轮廓;
根据所述目标轮廓确定二维码区域。
可选的,所述提取所述胶片图像的目标轮廓,包括:
提取所述胶片图像的有用信息,得到预处理图像;
对所述预处理图像进行边缘检测,得到边缘图像;
根据所述边缘图像中边缘检测的点坐标确定所述目标轮廓。
可选的,所述提取所述胶片图像的有用信息,得到预处理图像,包括:
采用cvPyrDown函数的缩小功能和/或cvPyrUp函数的放大功能提取所述胶片图像中有用的轮廓信息,得到所述预处理图像。
可选的,所述对所述预处理图像进行边缘检测,得到边缘图像,包括:
获取第一预设阈值,所述第一预设阈值包括上限阈值和下限阈值;
根据所述第一预设阈值,利用cvCanny边缘检测算法对所述预处理图像进行边缘检测,得到所述边缘图像。
可选的,所述根据所述边缘图像中边缘检测的点坐标确定所述目标轮廓,包括:
利用cvFindContours函数从所述边缘图像中获取轮廓;
利用cvApproxPoly函数对所述轮廓进行拟合,得到多边形;
当所述多边形为目标形状时,则确定所述多边形为所述目标轮廓。
可选的当所述多边形为目标形状时,则确定所述多边形为所述目标轮廓,包括:
当所述多边形满足第一预设条件、第二预设条件、第三预设条件和第四预设条件时,则所述多边形为正方形,确定所述多边形为所述目标轮廓;
所述第一预设条件为所述多边形的顶点个数为4;
所述第二预设条件为所述多边形的面积在预设范围内;
所述第三预设条件为所述多边形为凸面型;
所述第四预设条件为所述多边形的四个角的角度在预设角度范围内。
可选的,根据所述多边形确定二维码区域,包括:
根据所述多边形获取顶点坐标;
根据所述顶点坐标计算得到中心点坐标;
根据所述中心点坐标和第二预设阈值确定所述二维码区域。
本申请还提供了一种二维码识别装置,包括:
获取模块,用于获取写有二维码的胶片图像;
提取模块,用于提取所述胶片图像的目标轮廓;
确定模块,用于根据所述目标轮廓确定二维码区域。
本申请还提供了一种二维码识别设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现上述的二维码识别方法的步骤。
本申请还提供了一种可读存储介质,所述可读存储介质用于保存计算机程序,其中,所述计算机程序被处理器实现上述的二维码识别方法的步骤。
可见,本申请通过获取写有二维码的胶片图像;提取胶片图像中的目标轮廓;根据目标轮廓确定二维码区域。本申请通过识别目标轮廓来获取包含二维码区域,不需要增加额外的定位标记,且相邻2个二维码之间可以有不同的间距,均可以完成各个二维码的准确识别,相较于识别二维码3个定位标记的方法,不需要了解二维码结构,而且本方法识别难度低,计算量也较少,节约时间,提高了识别效率,而且应用范围更加广泛。
此外,本申请还提供了一种二维码识别装置、设备及可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种二维码识别方法的流程图;
图2为本申请实施例提供的一种二维码识别方法的流程示例图;
图3为本申请实施例提供的一种二维码识别设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本实施例中的胶片指数字胶片,比如微缩胶卷。可以将图片、音频、视频、数据库文件及其它数据格式的信息保存在数字胶片中,由于数字胶片技术利用数字编码技术将电子档案信息进行二维码编码等图像化转换,再把二维码图像输出到缩微胶片上,制作成缩微品进行保存;通过批量扫描识别缩微胶片上的二维码图像,解码还原为原始电子档案信息,进行电子档案的快速还原。任意格式的数字信息,通过二维码标准化再存储,继承了数字胶片稳定、可靠、安全的固有优势,可以作为数字资源备份的重要载体。因此,对胶片中的二维码精准识别十分有必要。
现阶段中,识别胶片中的二维码方法可以通过二维码本身固定的定位标记得到包含该二维码的区域,因为二维码的3个角上有固定的定位标记,但该二维码识别方法需要对二维码结构有一定的了解,而且一个二维码需要通过3个定位标记来识别,识别比较复杂;因此现阶段还有对胶片中的二维码增加额外的定位标记,例如相邻的两个二维码之间用特殊符号隔离开等,通过识别该定位标记得到包含二维码的区域,但是该方法又存在占用胶片的容量,并且当定位标记丢失时,无法识别二维码的问题。
本申请通过识别目标轮廓来获取包含二维码区域,不需要额外增加定位标记,二维码可以灵活写入胶片,相邻2个二维码之间可以有不同的间距,不需要了解二维码结构,并且难度低、计算量低且效率高。
请参考图1,图1为本申请实施例提供的一种二维码识别方法的流程图。该方法可以包括:
S101:获取写有二维码的胶片图像。
本实施例的执行主体为处理器。本实施例并不限定胶片图像中二维码的个数。不论胶片图像中存在一个或者多个二维码,均可以利用本实施提供的二维码识别方法识别胶片图像中各个二维码区域。
S102:提取胶片图像中的目标轮廓。
本实施例并不限定目标轮廓的形状,根据实际二维码形状设定。例如,当二维码为正方形时,则目标轮廓为正方形轮廓;当二维码为长方形时,则目标轮廓为长方形轮廓。本实施例并不限定目标轮廓的提取方法,只要能够提取目标轮廓即可。本实施例可以基于C++OpenCV实现本实施例的二维码的提取方法。C++是计算机高级程序设计语言,OpenCV是跨平台计算机视觉和机器学习软件库。本实施例可以直接提取胶片图像中的目标轮廓;或者还可以将对胶片图像中的进行预处理操作,将无用信息进行过滤。本实施例考虑到分辨率为1024×768的黑白图片,像素点数据量达到了百万级,因此,考虑到图像分辨率高,像素点多的因素,所以可以先提取有用的轮廓信息,过滤到不必要的像素(不构成轮廓的像素点),以此达到减少计算量的目的。
进一步的,为了提取目标轮廓更高效、更准确,上述提取胶片图像的目标轮廓,可以包括以下步骤:
步骤21:提取胶片图像的有用信息,得到预处理图像。
本实施例并不限定预处理的方法,能够达到保留有用信息,去除无用信息的目的即可。为了更好的消除图像噪音,上述提取胶片图像的有用信息,得到预处理图像,可以包括以下步骤:
采用cvPyrDown函数的缩小功能和/或cvPyrUp函数的放大功能提取胶片图像中有用的轮廓信息,得到预处理图像。
本实施例利用cvPyrDown函数的缩小功能和/或cvPyrUp函数的放大功能提取有用的轮廓信息,过滤掉不必要的像素点。其中,cvPyrDown函数是openCV中的库函数,高斯金字塔分解对输入图像向下采样,输出图像的宽度和高度是输入图像的一半;cvPyrUp函数是openCV中的库函数,高斯金字塔分解对输入图像向上采样,输出图像的宽度和高度是输入图像的2倍。
步骤22:对预处理图像进行边缘检测,得到边缘图像。
本实施例并不对边缘检测算法做限定,只要能够对图像进行边缘检测即可。为了检测边缘更加高效,上述对预处理图像进行边缘检测,得到边缘图像,可以包括以下步骤:
步骤41:获取第一预设阈值,第一预设阈值包括上限阈值和下限阈值;
步骤42:根据第一预设阈值,利用cvCanny边缘检测算法对预处理图像进行边缘检测,得到边缘图像。
本实施例可以使用cvCanny边缘检测,根据设定的第一预设阈值检测预处理图像的边缘,得到边缘图像。第一预设阈值可以包括上限阈值和下限阈值。其中下限阈值,用于调控边缘连接;上限阈值,用于控制强边缘的初始分割。根据第一预设阈值,利用cvCanny边缘检测检测,检测预处理图像中的各个像素点,若像素点的像素值大于上限阈值,则该像素是边缘像素;若像素点的像素值小于下限阈值,则该像素被舍弃;若像素的像素值在两者之间,则当该像素与高于上限阈值的像素点连接时才可将像素点保留,否则删除。本实施例并不对上限阈值和下限阈值做限定,上限阈值和下限阈值是可调节参数,用户可以根据效果进行调节。例如,下限阈值可以设定为0,上限阈值可以设定为50。其中,cvCanny为openCV中的库函数,用于对图像的边缘检测。
步骤23:根据边缘图像中边缘检测的点坐标确定目标轮廓。
本实施例并不限定根据边缘图像确定目标轮廓的具体方法,只要是能够实现目标轮廓的确定方法即可。为了精准得到目标轮廓,上述对根据边缘图像中边缘检测的点坐标确定目标轮廓,可以包括以下步骤:
步骤51:利用cvFindContours函数从边缘图像中获取轮廓;
步骤52:利用cvApproxPoly函数对轮廓进行拟合,得到多边形;
步骤53:当多边形为目标形状时,则确定第一轮廓为目标轮廓。
本实施例可以利用cvFindContours函数获取得到轮廓,再利用cvApproxPoly函数的对轮廓进行拟合,得到多边形。可以理解的是,目标形状与目标轮廓的形状相对应。例如,当二维码为正方形时,则目标轮廓为正方形轮廓,目标形状为正方形;当二维码为长方形时,则目标轮廓为长方形轮廓,目标形状为长方形。本实施例并不限定轮廓的拟合精度,拟合精度是指拟合多边形顶点与轮廓最大距离为轮廓周长的预设倍数,例如精度可以设定为轮廓周长的预设倍数,其中轮廓周长可以利用cvContourPerimeter函数计算得出。本实施例并不对预设倍数做限定。例如,预设倍数可以是0.02;或者预设倍数还可以是0.01。其中,cvFindContours为openCV中的库函数,可以检索轮廓并且还可以返回检测到的轮廓个数。cvApproxPoly为openCV中的库函数,使用多边形来近似表示一个轮廓,以减少顶点个数。cvContourPerimeter为openCV中的库函数,返回值为轮廓周长。
现阶段,胶片中的二维码一般为正方形,因此为了解决当下的正方形检测问题,可以将目标形状设定为正方形,检测多边形是否为正方形。本实施例并不对多边形是否为正方形的具体判断条件做限定。例如,可以是当该多边形的顶点个数为4;或者还可以是该多边形不是凸面型。
进一步的,为了保证正方形判断的准确性,上述多边形为目标形状时,则确定多边形为目标轮廓,可以包括以下步骤:
当多边形满足第一预设条件、第二预设条件、第三预设条件和第四预设条件时,则多边形为正方形,确定多边形为目标轮廓;
第一预设条件为多边形的顶点个数为4;
第二预设条件为多边形的面积在预设面积范围内;
第三预设条件为多边形为凸面型;
第四预设条件为多边形的四个角的角度在预设角度范围内。
本实施例可以利用cvContourArea函数计算得到多边形的面积,利用cvCheckContourConvexity函数判断是否为凸面四边形。当该多边形顶点个数为4,多边形的面积在预设范围内、多边形为凸面型、多边形的四个角的角度在预设角度范围内(保证四个角为直角)时,该多边形才判定为正方形。本实施例并不对预设面积范围做限定。例如,当前二维码尺寸最小一般为17×17=289,最大一般为177×177=31329,可以根据当前胶片中二维码大致面积设定预设面积范围。例如,当二维码尺寸为81×81=6561时,预设面积范围可以是[500,10000];或者预设面积范围还可以是[280,32000]。本实施例考虑到凸面多边形的内角小于180度,凹面多边形可能存在大于180度的内角,而正方形的四个内角为90度,可以根据是否为凸面多边形排除掉大于180度角的情况。并且可以通过计算每两个相邻的内角的夹角度数,当夹角度数小于阈值时,则满足四个角趋向于直角,本实施例并不对该阈值做限定,例如,可以是0.1度,或者还可以是0.5度。其中,cvContourArea函数为openCV中的库函数,返回轮廓的面积;cvCheckContourConvexity函数为openCV中的库函数,判断轮廓是否为凸,如果为凸返回值为1,如果为凹返回0。
本实施例并不限定上述四个预设条件的判断顺序。例如,可以同时判断;或者还可以设定先后顺序,根据顺序判断。本实施例并不对顺序做限定,例如,可以先判断是否满足第一预设条件,再判断是否满足第二预设条件,再判断是否满足第三预设条件,最后判断是否满足第四预设条件;或者可以先判断是否满足第二预设条件,再判断是否满足第一预设条件,再判断是否满足第三预设条件,最后判断是否满足第四预设条件。
S103:根据目标轮廓确定二维码区域。
本实施例并不对根据目标轮廓确定二维码区域的确定方法做限定。本实施例中,可以检测该目标轮廓的中心点,根据中心点和目标轮廓的形状确定二维码区域。当目标轮廓为正方形轮廓,多边形为正方形时,则将该多边形确定为目标轮廓,则为了更加准确地识别二维码区域,上述根据目标轮廓确定二维码区域即为根据多边形确定二维码区域,可以包括以下步骤:
步骤71:根据多边形获取顶点坐标;
步骤72:根据顶点坐标计算得到中心点坐标;
步骤73:根据中心点坐标和第二预设阈值确定二维码区域。
为例更好的理解本实施例,以多边形为正方形为例进行说明,本实施例根据正方形轮廓的4个顶点坐标计算得到中心点坐标。本实施例并不限定具体的计算过程。例如,可以根据对角的两个顶点坐标即可计算得出中心点坐标;或者还可以根据四个顶点坐标进行排序,根据最小点坐标和最大点坐标计算得到中心点坐标。例如,最小点坐标(即左上角顶点坐标)为[x0,y0],最大点坐标(右下角顶点坐标)为[x1,y1],则中心点坐标为[(x0+x1)/2,(y0+y1)/2]。本实施例根据正方形获取得到4个无序的顶点坐标,并且当该四个顶点坐标与实际真实正方形之间的偏差在预设偏差范围内。本实施例中的第二预设阈值为比真实二维码边长多一些范围的边长值。例如,当二维码真实边长为80,中心点坐标为[xc,yc],第二预设阈值设定为100,则二维码区域的四个顶点坐标为[(xc–100/2),(yc-100/2)],[(xc+100/2),(yc-100/2)],[(xc+100/2),(yc+100/2)],[(x中-100/2),(yc+100/2)],这四个顶点坐标围成的四边形即为二维码区域。
当胶片中存在多个正方形的二维码区域时,可以根据上述步骤计算得到多个中心点,可以根据中心点分离出各个正方形。以两个二维码为例,两个中心点A和B,中心点A坐标[Ax,Ay],中心点B坐标[Bx,By],A点到B点的距离计算公式:sqrt((Ax-Bx)×(Ax-Bx)+(Ay-By)×(Ay-By)),根据该距离计算公式得到A点和B点之间的距离,当该距离满足在预设距离阈值内时,则认为该两个中心点对应的两个正方形为同一个正方形。本实施例并不限定预设距离阈值,该预设距离阈值可以根据二维码的边长设定,当该二维码边长为80时,则预设距离阈值可以是82,或者预设距离阈值可以为85。
应用本申请实施例提供的二维码识别方法,通过获取写有二维码的胶片图像;提取胶片图像中的目标轮廓;根据目标轮廓确定二维码区域。本申请通过识别目标轮廓来获取包含二维码区域,不需要增加额外的定位标记,且相邻2个二维码之间可以有不同的间距,均可以完成各个二维码的准确识别,相较于识别二维码3个定位标记的方法,不需要了解二维码结构,而且本方法识别难度低,计算量也较少,节约时间,提高了识别效率,而且应用范围更加广泛。并且,对胶片图像进行预处理,过滤掉不构成轮廓的像素点,保证后期提取目标轮廓高效性和准确性;并且,采取cvPyrDown函数和/或cvPyrUp函数可以更好的消除图像噪音;并且,本实施例采用cvCanny边缘检测算法对预处理图像进行边缘检测,提高检测效率;并且,采用cvFindContours函数获取轮廓,并采用cvApproxPoly函数得到多边形,提高了效率;并且,通过顶点个数、角度、面积和是否为凸面型判断多边形是否为正方形,提高精准性;并且,根据中心点坐标确定二维码区域,保证二维码区域侧准确性。
下面对本申请实施例提供的二维码识别装置进行介绍,下文描述的二维码识别装置与上文描述的二维码识别方法可相互对应参照。
具体请参考图2,图2为本申请实施例提供的一种二维码识别装置的结构示意图,可以包括:
获取模块100,用于获取写有二维码的胶片图像;
提取模块200,用于提取所述胶片图像的目标轮廓;
确定模块300,用于根据所述目标轮廓确定二维码区域。
基于上述实施例,上述提取模块200,可以包括:
预处理单元,用于提取所述胶片图像的有用信息,得到预处理图像;
边缘检测单元,用于对所述预处理图像进行边缘检测,得到边缘图像;
目标轮廓确定单元,用于根据所述边缘图像中边缘检测的点坐标确定所述目标轮廓。
基于上述实施例,上述预处理单元,可以包括:
有用轮廓信息提取子单元,用于采用cvPyrDown函数的缩小功能和/或cvPyrUp函数的放大功能提取所述胶片图像中有用的轮廓信息,得到所述预处理图像。
基于上述实施例,上述边缘检测单元,可以包括:
获取子单元,用于获取第一预设阈值,所述第一预设阈值包括上限阈值和下限阈值;
边缘检测子单元,用于根据所述第一预设阈值,利用cvCanny边缘检测算法对所述预处理图像进行边缘检测,得到所述边缘图像。
基于上述实施例,上述目标轮廓确定单元,可以包括:
轮廓获取子单元,用于利用cvFindContours函数从所述边缘图像中获取轮廓;
拟合子单元,用于利用cvApproxPoly函数对所述轮廓进行拟合,得到多边形;
目标轮廓确定子单元,用于当所述多边形为目标形状时,则确定所述多边形为所述目标轮廓。
基于上述实施例,上述目标轮廓确定子单元,可以包括:
判断子单元,用于当所述多边形满足第一预设条件、第二预设条件、第三预设条件和第四预设条件时,则所述多边形为正方形,确定所述多边形为所述目标轮廓;所述第一预设条件为所述多边形的顶点个数为4;所述第二预设条件为所多边形的面积在预设范围内;所述第三预设条件为所述多边形为凸面型;所述第四预设条件为所述多边形的四个角的角度在预设角度范围内。
基于上述实施例,上述确定模块300,可以包括:
顶点坐标获取单元,用于根据所述多边形获取顶点坐标;
中心点坐标计算单元,用于根据所述顶点坐标计算得到中心点坐标;
二维码区域确定单元,用于根据所述中心点坐标和第二预设阈值确定所述二维码区域。
需要说明的是,上述二维码识别装置中的模块以及单元在不影响逻辑的情况下,其顺序可以前后进行更改。
应用本申请实施例提供的二维码识别装置,通过获取模块100,用于获取写有二维码的胶片图像;提取模块200,用于提取胶片图像中的目标轮廓;确定模块300,用于根据目标轮廓确定二维码区域。本申请通过识别目标轮廓来获取包含二维码区域,不需要增加额外的定位标记,且相邻2个二维码之间可以有不同的间距,均可以完成各个二维码的准确识别,相较于识别二维码3个定位标记的方法,不需要了解二维码结构,而且本方法识别难度低,计算量也较少,节约时间,提高了识别效率,而且应用范围更加广泛。并且,对胶片图像进行预处理,过滤掉不构成轮廓的像素点,保证后期提取目标轮廓高效性和准确性;并且,采取cvPyrDown函数和/或cvPyrUp函数可以更好的消除图像噪音;并且,本实施例采用cvCanny边缘检测算法对预处理图像进行边缘检测,提高检测效率;并且,采用cvFindContours函数获取轮廓,并采用cvApproxPoly函数得到多边形,提高了效率;并且,通过顶点个数、角度、面积和是否为凸面型判断多边形是否为正方形,提高精准性;并且,根据中心点坐标确定二维码区域,保证二维码区域侧准确性。
下面对本申请实施例提供的二维码识别设备进行介绍,下文描述的二维码识别设备与上文描述的二维码识别方法可相互对应参照。
请参考图3,图3为本申请实施例提供的二维码识别设备的结构示意图,可以包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的二维码识别方法。
存储器10、处理器20、通信接口31和通信总线32。存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
在本申请实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器10中可以存储有用于实现以下功能的程序:
获取写有二维码的胶片图像;
提取胶片图像中的目标轮廓;
根据目标轮廓确定二维码区域。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图3所示的结构并不构成对本申请实施例中二维码识别设备的限定,在实际应用中二维码识别设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
下面对本申请实施例提供的可读存储介质进行介绍,下文描述的可读存储介质与上文描述的二维码识别方法可相互对应参照。
本申请还提供一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的二维码识别方法的步骤。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本申请所提供的一种二维码识别方法、装置、设备及可读存储介质进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种二维码识别方法,其特征在于,包括:
获取写有二维码的胶片图像;
提取所述胶片图像中的目标轮廓;
根据所述目标轮廓确定二维码区域。
2.根据权利要求1所述的二维码识别方法,其特征在于,所述提取所述胶片图像的目标轮廓,包括:
提取所述胶片图像的有用信息,得到预处理图像;
对所述预处理图像进行边缘检测,得到边缘图像;
根据所述边缘图像中边缘检测的点坐标确定所述目标轮廓。
3.根据权利要求2所述的二维码识别方法,其特征在于,所述提取所述胶片图像的有用信息,得到预处理图像,包括:
采用cvPyrDown函数的缩小功能和/或cvPyrUp函数的放大功能提取所述胶片图像中有用的轮廓信息,得到所述预处理图像。
4.根据权利要求2所述的二维码识别方法,其特征在于,所述对所述预处理图像进行边缘检测,得到边缘图像,包括:
获取第一预设阈值,所述第一预设阈值包括上限阈值和下限阈值;
根据所述第一预设阈值,利用cvCanny边缘检测算法对所述预处理图像进行边缘检测,得到所述边缘图像。
5.根据权利要求2所述的二维码识别方法,其特征在于,所述根据所述边缘图像中边缘检测的点坐标确定所述目标轮廓,包括:
利用cvFindContours函数从所述边缘图像中获取轮廓;
利用cvApproxPoly函数对所述轮廓进行拟合,得到多边形;
当所述多边形为目标形状时,则确定所述多边形为所述目标轮廓。
6.根据权利要求5所述的二维码识别方法,其特征在于,当所述多边形为目标形状时,则确定所述多边形为所述目标轮廓,包括:
当所述多边形满足第一预设条件、第二预设条件、第三预设条件和第四预设条件时,则所述多边形为正方形,确定所述多边形为所述目标轮廓;
所述第一预设条件为所述多边形的顶点个数为4;
所述第二预设条件为所述多边形的面积在预设范围内;
所述第三预设条件为所述多边形为凸面型;
所述第四预设条件为所述多边形的四个角的角度在预设角度范围内。
7.根据权利要求6所述的二维码识别方法,其特征在于,根据所述多边形确定二维码区域,包括:
根据所述多边形获取顶点坐标;
根据所述顶点坐标计算得到中心点坐标;
根据所述中心点坐标和第二预设阈值确定所述二维码区域。
8.一种二维码识别装置,其特征在于,包括:
获取模块,用于获取写有二维码的胶片图像;
提取模块,用于提取所述胶片图像的目标轮廓;
确定模块,用于根据所述目标轮廓确定二维码区域。
9.一种二维码识别设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现如权利要求1至7任一项所述的二维码识别方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质用于保存计算机程序,其中,所述计算机程序被处理器实现如权利要求1至7任一项所述的二维码识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310418190.8A CN116739016A (zh) | 2023-04-19 | 2023-04-19 | 一种二维码识别方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310418190.8A CN116739016A (zh) | 2023-04-19 | 2023-04-19 | 一种二维码识别方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116739016A true CN116739016A (zh) | 2023-09-12 |
Family
ID=87906804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310418190.8A Pending CN116739016A (zh) | 2023-04-19 | 2023-04-19 | 一种二维码识别方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116739016A (zh) |
-
2023
- 2023-04-19 CN CN202310418190.8A patent/CN116739016A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008809B (zh) | 表格数据的获取方法、装置和服务器 | |
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
EP3306562B1 (en) | Image processing method and device | |
CN108875723B (zh) | 对象检测方法、装置和系统及存储介质 | |
CN109948521B (zh) | 图像纠偏方法和装置、设备及存储介质 | |
CN113449534B (zh) | 二维码图像处理方法和装置 | |
CN113436080B (zh) | 印章图像的处理方法、装置、设备及存储介质 | |
CN105740876A (zh) | 一种图像预处理方法及装置 | |
CN113723399A (zh) | 一种车牌图像矫正方法、车牌图像矫正装置和存储介质 | |
CN112699704B (zh) | 一种条形码的检测方法、装置、设备、存储装置 | |
CN110009615B (zh) | 图像角点的检测方法及检测装置 | |
CN109344824A (zh) | 一种文本行区域检测方法、装置、介质和电子设备 | |
CN111222507A (zh) | 数字式仪表读数的自动识别方法、计算机可读存储介质 | |
JPH07220090A (ja) | 物体認識方法 | |
CN111598088B (zh) | 目标检测方法、装置、计算机设备及可读存储介质 | |
CN110110697B (zh) | 基于方向矫正的多指纹分割提取方法、系统、设备及介质 | |
CN111539238A (zh) | 二维码图像修复方法、装置、计算机设备和存储介质 | |
CN106778766B (zh) | 一种基于定位点的旋转数字识别方法及系统 | |
CN117993406A (zh) | 一种二维条码自动识别读取方法及系统 | |
CN112733855B (zh) | 表格结构化方法、表格恢复设备及具有存储功能的装置 | |
CN112800824A (zh) | 扫描文件的处理方法、装置、设备及存储介质 | |
CN114692661A (zh) | 二维码识别方法、存储介质和计算机 | |
CN116976372A (zh) | 基于方形基准码的图片识别方法、装置、设备及介质 | |
CN116739016A (zh) | 一种二维码识别方法、装置、设备及可读存储介质 | |
CN112118478B (zh) | 文本处理方法、装置、电子设备及存储介质 |
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 |