CN110245537A - 图形码解码方法,装置,存储介质及电子设备 - Google Patents
图形码解码方法,装置,存储介质及电子设备 Download PDFInfo
- Publication number
- CN110245537A CN110245537A CN201910453554.XA CN201910453554A CN110245537A CN 110245537 A CN110245537 A CN 110245537A CN 201910453554 A CN201910453554 A CN 201910453554A CN 110245537 A CN110245537 A CN 110245537A
- Authority
- CN
- China
- Prior art keywords
- graphic code
- region
- target image
- map
- gradient
- 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.)
- Granted
Links
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
-
- 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/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
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
本公开涉及一种图形码解码方法,装置,存储介质及电子设备,该方法包括:定位目标图像中的图形码区域;确定所述图形码区域中像素梯度方向的分布直方图;根据所述分布直方图确定所述图形码区域中的图形码的类型信息;根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。用于解决相关技术中,将对应于不同图形码的解码算法按照一定顺序设置导致的解码效率较慢的技术问题。
Description
技术领域
本公开涉及图像处理技术领域,具体地,涉及一种图形码解码方法,装置,存储介质及电子设备。
背景技术
常用的图形码包括二维码和条形码,可以用于在线支付、网站跳转、防伪溯源等,通过具有图形码识别功能的终端就可以实现相应功能,使用方便,例如通过扫描枪扫描商品上的条形码获取商品信息或通过手机扫描二维码进行在线支付。
相关技术中,将对应于不同图形码的解码算法按照一定顺序设置,进而扫描图形码进行解码时,按照该顺序依次通过各种类型解码算法进行解码,例如先按照对应于水平条形码的解码算法进行解码,若解码失败,再按照对应于竖直条形码的解码算法进行解码,若解码再次失败,则按照对应于二维码的解码算法进行解码。按照上述方式,如果某一种图形码的解码算法默认是最后尝试,则针对该类型的图形码的解码效率较慢。
发明内容
本公开的目的是提供一种图形码解码方法,装置,存储介质及电子设备,用于解决相关技术中,将对应于不同图形码的解码算法按照一定顺序设置导致的解码效率较慢的技术问题。
为了实现上述目的,本公开实施例的第一方面,提供一种图形码解码方法,所述方法包括:
定位目标图像中的图形码区域;
确定所述图形码区域中像素梯度方向的分布直方图;
根据所述分布直方图确定所述图形码区域中的图形码的类型信息;
根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
可选地,在所述定位目标图像中的图形码区域之前,所述方法还包括:
将所述目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图;
通过二值化算法,将所述梯度图转化为二值图;
所述定位目标图像中的图形码区域,包括:
确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
可选地,所述方法还包括:
如果根据所述分布直方图确定所述图形码区域中不存在图形码,则通过另一种二值化算法将所述梯度图转化为新的二值图,并针对所述新的二值图执行上述图形码解码方法中从所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
可选地,在所述定位目标图像中的图形码区域之前,包括:
对扫描设备处于稳定扫描状态的过程进行计时;
将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述通过二值化算法,将所述梯度图转化为二值图包括:
如果在预设计时时长内未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图;
所述方法还包括:针对所述新的二值图执行上述图形码解码方法中从所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
可选地,在所述定位目标图像中的图形码区域之前,包括:
将扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述通过二值化算法,将所述梯度图转化为二值图包括:
如果连续N帧图像均未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,N为大于或等于1的正整数;
所述方法还包括:针对所述新的二值图执行上述图形码解码方法中所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
可选地,在所述确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域之前,包括:对所述二值图进行图像形态学运算中的膨胀及腐蚀处理;
和/或,
所述根据所述最大连通区域确定所述图形码区域,包括:
在所述最大连通区域中确定图形码的外包轮廓,并将所述外包轮廓内的区域作为所述图形码区域。
本公开实施例的第二方面,提供一种图形码解码装置,所述装置包括:
定位模块,用于定位目标图像中的图形码区域;
直方图确定模块,用于确定所述图形码区域中像素梯度方向的分布直方图;
码类型确定模块,用于根据所述分布直方图确定所述图形码区域中的图形码的类型信息;
解码模块,用于根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
可选地,还包括:
预处理模块,用于将所述目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图;
二值化模块,用于通过二值化算法,将所述梯度图转化为二值图;
所述定位模块用于,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
可选地,所述二值化模块被配置为:
如果所述码类型确定模块根据所述分布直方图确定所述图形码区域中不存在图形码,则通过另一种二值化算法将所述梯度图转化为新的二值图。
可选地,所述装置包括:
计时模块,用于在所述定位模块定位目标图像中的图形码区域之前,对扫描设备处于稳定扫描状态的过程进行计时;
第一目标图像设置模块,用于将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述二值化模块用于:
如果在预设计时时长内未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图。
可选地,所述装置包括:
第二目标图像设置模块,用于在所述定位模块定位目标图像中的图形码区域之前,将扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述二值化模块用于:
如果连续N帧图像均未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,N为大于或等于1的正整数。
可选地,所述装置包括:
图像形态学处理模块,用于在所述定位模块确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域之前,对所述二值图进行图像形态学运算中的膨胀及腐蚀处理;
和/或,
所述定位模块用于:
在所述最大连通区域中确定图形码的外包轮廓,并将所述外包轮廓内的区域作为所述图形码区域。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
通过上述技术方案,定位目标图像中的图形码区域之后,确定图形码区域中像素梯度方向的分布直方图,并根据分布直方图确定图形码区域中的图形码的类型信息,最后根据类型信息调用对应的解码算法对该图形码进行解码处理,其中,定位目标图像中的图形码区域至根据分布直方图确定图形码区域中的图形码的类型信息的步骤耗时较短,进而对于不同类型的图形码,都有较高的解码效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种图形码解码方法的流程图。
图2是根据一示例性实施例示出的一种目标图像。
图3是对图2所示的目标图像定位出图形码区域的图像。
图4是对应于图3中图形码区域中图形码的像素梯度方向的分布直方图。
图5是根据一示例性实施例示出的一种图形码解码方法的另一流程图。
图6是根据一示例性实施例示出的一种图形码解码方法的另一流程图。
图7是根据一示例性实施例示出的一种图形码解码方法的另一流程图。
图8是根据一示例性实施例示出的一种图形码解码方法的另一流程图。
图9是根据一示例性实施例示出的一种图形码解码方法的另一流程图。
图10是根据一示例性实施例示出的一种图形码解码装置的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种图形码解码方法的流程图,如图1所示,该方法包括:
S11,定位目标图像中的图形码区域。
S12,确定所述图形码区域中像素梯度方向的分布直方图。
S13,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S14,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
在步骤S11中,目标图像即用于获取图形码的图像,图形码区域即图形码于目标图像中所在区域,一般情况下该区域内仅包括该图形码,例如对于条形码或二维码,其图形码区域可以为仅包括条形码或二维码的矩形区域,以条形码或二维码的边界作为矩形区域的轮廓。定位目标图像中的图形码区域,即确定目标图像中的图形码的位置以及其面积的大小。定位目标图像中的图形码区域可以采用现有技术,例如通过OCR(Optical CharacterRecognition)识别方式确定图形码区域。举例来讲,图2示出了一种目标图像,包括整个实线的矩形方框围成的区域,通过对图2所示的目标图像中的图形码区域进行定位,得到图3,在图3中,图形码区域为虚线的矩形方框围成的区域。
在步骤S12中,像素梯度方向的分布直方图即方向梯度直方图(HOG,Histogram OfGradient),方向梯度直方图用于统计图形码区域的梯度的方向信息,一般情况下,方向梯度直方图的横坐标用于表示梯度的方向,方向梯度直方图的纵坐标用于表示梯度的幅度,不同类型的图形码对应得到的方向梯度直方图具有不同的分布特点,例如对于采用无符号梯度(unsigned gradients)的方向梯度直方图,横向条形码的方向梯度直方图中数据集中分布在角度为90度附近的区域,纵向条形码的方向梯度直方图中数据集中分布在0度和180度附近的区域,二维码的方向梯度直方图中数据均匀分布在0度至180度之间。对于不同的图形码,可以事先选取多张符合要求的图像,确定其像素梯度方向的分布直方图,进而得到各种图形码的分布直方图的分布特点。如图4所示,图4所示的分布直方图即为图3所示的图形码的分布直方图。
由于不同种类的图形码的分布直方图具有不同的分布特点,进而在步骤S13中,可以根据所述分布直方图确定所述图形码区域中的图形码的类型信息。沿用上述例子,若该分布直方图即方向梯度直方图中数据集中分布在90度附近的区域,则确定图形码区域中的图形码为横向条形码,若该分布直方图中数据集中分布在0度附近的区域,则确定图形码区域中的图形码为纵向条形码。又以图4所示的分布直方图为例,其数据即图中白色部分集中分布在90度附近的区域,进而判定图3中图形码区域中的图形码为横向条形码。需要说明的是,为了使得示图更清楚,图4中省略了该分布直方图的横坐标和纵坐标。
确定所述图形码区域中的图形码的类型信息之后,执行步骤S14,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理,沿用上述例子,在根据图4所示的分布直方图确定图3所示的图形码区域中的图形码为横向条形码之后,调用对应于横向条形码的解码算法对图3所示的图形码进行解码,进而实现相应的功能,例如获取该横向二维码对应的信息。
通过上述技术方案,定位目标图像中的图形码区域之后,确定图形码区域中像素梯度方向的分布直方图,并根据分布直方图确定图形码区域中的图形码的类型信息,最后根据类型信息调用对应的解码算法对该图形码进行解码处理,其中,定位目标图像中的图形码区域至根据分布直方图确定图形码区域中的图形码的类型信息的步骤耗时较短,进而对于不同类型的图形码,都有较高的解码效率。
图5是根据一示例性实施例示出的一种图形码解码方法的另一流程图,如图5所示,该方法包括:
S21,将目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图。
S22,通过二值化算法,将所述梯度图转化为二值图。
S23,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
S24,确定所述图形码区域中像素梯度方向的分布直方图。
S25,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S26,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
在步骤S21中,首先将目标图像转为灰度图,简化图像信息,然后计算该灰度图上各像素点的梯度幅值以及相位方向,得到梯度图,如此可以去除目标图像中至少部分不必要的信息,例如背景。举例来讲,将目标图像转化为灰度图后,可以将图像进行压缩,然后在压缩后的灰度图像上,利用X方向和Y方向的像素差分别通过Sobel算子计算X方向的X梯度图和Y方向的Y梯度图,X梯度图中的每个像素点的值为对应灰度图中对应像素点位置的X方向梯度幅值,Y梯度图中的每个像素点的值为对应灰度图中对应像素点位置的Y方向梯度幅值,利用X梯度图减去Y方向梯度图得到用于步骤S22中运算的梯度图。
在步骤S22中,通过二值化算法,将得到的梯度图转化为二值图,例如可以设定阈值,将像素值小于阈值的像素点的像素值设为0,表现为白色,将像素值大于阈值的像素点的像素值设为255,表现为黑色。通过该方法可以使得在步骤S23中确定最大连通区域的效果更好。
在步骤S23中,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域,由于通过步骤S22得到的二值图中图形码区域对应的颜色可能变为一片连通的区域,且多数情况下,该连通的区域的面积最大,例如得到的二值图中存在多个连通的白色区域,图形码区域对应的白色区域面积最大,故可以通过确定二值图中的最大连通区域,进一步确定图形码区域。
上述步骤S21至步骤S23实现简单,运算速度快,可以快速的确定目标图像中的图形码区域。
图6是根据一示例性实施例示出的一种图形码解码方法的另一流程图,如图6所示,该方法包括:
S31,将目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图。
S32,通过二值化算法,将所述梯度图转化为二值图。
S33,对所述二值图进行图像形态学运算中的膨胀及腐蚀处理。
S34,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
S35,确定所述图形码区域中像素梯度方向的分布直方图。
S36,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S37,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
在步骤S33中,对步骤S32得到的二值图进行图像形态学运算中的膨胀及腐蚀处理,去除该二值图中图形码区域对应的连通区域中的噪声,以及减小或消除其它部分的连通区域,使得得到的最大连通区域与图形码区域的面积及位置更接近,进而使得在步骤S34中,对图形码区域的定位更加准确。
可选地,在步骤S34中,根据所述最大连通区域确定所述图形码区域,包括:
在所述最大连通区域中确定图形码的外包轮廓,并将所述外包轮廓内的区域作为所述图形码区域。
可以基于最大连通区域与相邻区域的颜色差确定图形码的外包轮廓,进而将外包轮廓内的区域作为图形码区域。
图7是根据一示例性实施例示出的一种图形码解码方法的另一流程图,如图7所示,该方法包括:
S41,将目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图。
S42,通过二值化算法,将所述梯度图转化为二值图。
S43,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
S44,确定所述图形码区域中像素梯度方向的分布直方图。
S45,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S46,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
S47,如果根据步骤S44中得到的所述分布直方图确定所述图形码区域中不存在图形码,则通过另一种二值化算法将所述梯度图转化为新的二值图,并针对所述新的二值图执行上述步骤S43至步骤S46。
由于在不同场景下不同二值化算法的效果不同,因此,对于通过一种二值化算法最终得到的分布直方图,如果根据该分布直方图确定对应的图形码区域中不存在图形码,则可以切换二值化算法,采用另一种二值化算法将所述梯度图转化为新的二值图,并针对所述新的二值图执行上述步骤S43至步骤S46,直至能够确定图形码区域中存在图形码,并确定该图形码的类型信息。如此在确定对应的图形码区域中不存在图形码时,通过尝试不同的二值化算法得到不同的分布直方图,增大得到图形码区域中图形码的类型信息的可能性,进而提高解码成功的可能性。需要说明的是,如果根据分布直方图不能确定对应的图形码区域中图形码的类型,也可以视为不存在图形码。
图8是根据一示例性实施例示出的一种图形码解码方法的另一流程图,如图8所示,该方法包括:
S51,对扫描设备处于稳定扫描状态的过程进行计时。
S52,将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像。
S53,将目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图。
S54,通过二值化算法,将所述梯度图转化为二值图。
S55,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
S56,确定所述图形码区域中像素梯度方向的分布直方图。
S57,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S58,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
S59,如果在预设计时时长内未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,针对所述新的二值图执行上述步骤S55至步骤S58。
在步骤S51中,可以通过采集扫描设备中三轴陀螺仪的角速度,通过角速度判定该扫描设备是否处于稳定扫描状态,如果判定该扫描设备处于稳定扫描状态,则开始计时,并在步骤S52中,将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像。
在步骤S59中,可以通过将计时得到的时长与预设计时时长进行比较,如果在预设计时时长内未识别出图形码,则换二值化算法对所述梯度图进行二值化处理,得到新的二值图,针对所述新的二值图执行上述步骤S55至步骤S58。在由于在不同场景下不同二值化算法的效果不同,通过在识别图形码失败时尝试不同的二值化算法,可能得到效果较好的二值图,进而提高成功识别图形码的概率。此外,判断扫描设备处于稳定状态相较于该图形码解码方法的运行时间可以忽略不计,进而对于解码速度的影响极小。需要说明的是,未识别出图形码也可能是根据分布直方图确定图形码区域中不存在图形码,进而在图8中,步骤S59的判断条件也可以来自步骤S57。
图9是根据一示例性实施例示出的一种图形码解码方法的另一流程图,如图9所示,该方法包括:
S61,将扫描设备扫描得到的每一帧图像分别作为所述目标图像;
S62,将目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图。
S63,通过二值化算法,将所述梯度图转化为二值图。
S64,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
S65,确定所述图形码区域中像素梯度方向的分布直方图。
S66,根据所述分布直方图确定所述图形码区域中的图形码的类型信息。
S67,根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
S68,如果连续N帧图像均未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,N为大于或等于1的正整数,针对所述新的二值图执行上述步骤S64至步骤S67。
通过统计未识别出图形码的图像的帧数,在连续N帧图像均未识别出图形码时,例如N为15,切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,针对所述新的二值图执行上述步骤S64至步骤S67。由于在不同场景下不同二值化算法的效果不同,通过在对于连续N帧图像识别图形码失败时尝试不同的二值化算法,可能得到效果较好的二值图,进而提高成功识别图形码的概率。需要说明的是,未识别出图形码也可能是根据分布直方图确定图形码区域中不存在图形码,进而在图9中,步骤S68的判断条件也可以来自步骤S66。
图10是根据一示例性实施例示出的一种图形码解码装置的框图,如图10所示,该装置100包括:
定位模块110,用于定位目标图像中的图形码区域;
直方图确定模块120,用于确定所述图形码区域中像素梯度方向的分布直方图;
码类型确定模块130,用于根据所述分布直方图确定所述图形码区域中的图形码的类型信息;
解码模块140,用于根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
可选地,该装置100还包括:
预处理模块,用于将所述目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图;
二值化模块,用于通过二值化算法,将所述梯度图转化为二值图;
所述定位模块110用于,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
可选地,该二值化模块被配置为:
如果所述码类型确定模块130根据所述分布直方图确定所述图形码区域中不存在图形码,则通过另一种二值化算法将所述梯度图转化为新的二值图。
可选地,该装置100包括:
计时模块,用于在所述定位模块110定位目标图像中的图形码区域之前,对扫描设备处于稳定扫描状态的过程进行计时;
第一目标图像设置模块,用于将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像;
该二值化模块用于:
如果在预设计时时长内未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图。
可选地,该装置110包括:
第二目标图像设置模块,用于在所述定位模块110定位目标图像中的图形码区域之前,将扫描设备扫描得到的每一帧图像分别作为所述目标图像;
该二值化模块用于:
如果连续N帧图像均未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,N为大于或等于1的正整数。
可选地,该装置100包括:
图像形态学处理模块,用于在所述定位模块110确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域之前,对所述二值图进行图像形态学运算中的膨胀及腐蚀处理;
和/或,
该定位模块110用于:
在所述最大连通区域中确定图形码的外包轮廓,并将所述外包轮廓内的区域作为所述图形码区域。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种电子设备的框图。如图11所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的图形码解码方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图形码解码方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图形码解码方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的图形码解码方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种图形码解码方法,其特征在于,所述方法包括:
定位目标图像中的图形码区域;
确定所述图形码区域中像素梯度方向的分布直方图;
根据所述分布直方图确定所述图形码区域中的图形码的类型信息;
根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
2.根据权利要求1所述的方法,其特征在于,在所述定位目标图像中的图形码区域之前,所述方法还包括:
将所述目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图;
通过二值化算法,将所述梯度图转化为二值图;
所述定位目标图像中的图形码区域,包括:
确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果根据所述分布直方图确定所述图形码区域中不存在图形码,则通过另一种二值化算法将所述梯度图转化为新的二值图,并针对所述新的二值图执行权利要求2中从所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
4.根据权利要求2所述的方法,其特征在于,在所述定位目标图像中的图形码区域之前,包括:
对扫描设备处于稳定扫描状态的过程进行计时;
将所述扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述通过二值化算法,将所述梯度图转化为二值图包括:
如果在预设计时时长内未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图;
所述方法还包括:针对所述新的二值图执行权利要求2中从所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
5.根据权利要求2所述的方法,其特征在于,在所述定位目标图像中的图形码区域之前,包括:
将扫描设备扫描得到的每一帧图像分别作为所述目标图像;
所述通过二值化算法,将所述梯度图转化为二值图包括:
如果连续N帧图像均未识别出图形码,则切换二值化算法对所述梯度图进行二值化处理,得到新的二值图,N为大于或等于1的正整数;
所述方法还包括:针对所述新的二值图执行权利要求2中从所述定位目标图像中的图形码区域,至所述根据所述类型信息调用对应的解码算法对所述图形码进行解码处理的方法步骤。
6.根据权利要求2至5中任一项所述的方法,其特征在于,在所述确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域之前,包括:对所述二值图进行图像形态学运算中的膨胀及腐蚀处理;
和/或,
所述根据所述最大连通区域确定所述图形码区域,包括:
在所述最大连通区域中确定图形码的外包轮廓,并将所述外包轮廓内的区域作为所述图形码区域。
7.一种图形码解码装置,其特征在于,所述装置包括:
定位模块,用于定位目标图像中的图形码区域;
直方图确定模块,用于确定所述图形码区域中像素梯度方向的分布直方图;
码类型确定模块,用于根据所述分布直方图确定所述图形码区域中的图形码的类型信息;
解码模块,用于根据所述类型信息调用对应的解码算法对所述图形码进行解码处理。
8.根据权利要求7所述的装置,其特征在于,还包括:
预处理模块,用于将所述目标图像转为灰度图,并计算所述灰度图上各像素点的梯度幅值以及相位方向,得到梯度图;
二值化模块,用于通过二值化算法,将所述梯度图转化为二值图;
所述定位模块用于,确定所述二值图中的最大连通区域,并根据所述最大连通区域确定所述图形码区域。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910453554.XA CN110245537B (zh) | 2019-05-28 | 2019-05-28 | 图形码解码方法,装置,存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910453554.XA CN110245537B (zh) | 2019-05-28 | 2019-05-28 | 图形码解码方法,装置,存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245537A true CN110245537A (zh) | 2019-09-17 |
CN110245537B CN110245537B (zh) | 2020-10-02 |
Family
ID=67885284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910453554.XA Active CN110245537B (zh) | 2019-05-28 | 2019-05-28 | 图形码解码方法,装置,存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245537B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110907132A (zh) * | 2019-12-13 | 2020-03-24 | 中国人民解放军军事科学院国防科技创新研究院 | 一种波向探测方法、系统、设备、介质 |
CN114923427A (zh) * | 2022-06-01 | 2022-08-19 | 南方电网科学研究院有限责任公司 | 一种架空导线外径测量方法、装置、设备及可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908125A (zh) * | 2010-06-01 | 2010-12-08 | 福建新大陆电脑股份有限公司 | Qr码条码解码芯片及其解码方法 |
CN102136058A (zh) * | 2011-04-26 | 2011-07-27 | 中国农业大学 | 条形码图像识别方法 |
CN104899542A (zh) * | 2015-05-27 | 2015-09-09 | 广州市韦尔讯信息科技有限公司 | 一种影像式cmos条码快速识别方法及装置 |
CN204791046U (zh) * | 2015-05-27 | 2015-11-18 | 广州市韦尔讯信息科技有限公司 | 一种线性ccd条码识别装置 |
CN105631383A (zh) * | 2015-12-30 | 2016-06-01 | 福建联迪商用设备有限公司 | 智能选通条码解码的方法及系统 |
CN105654004A (zh) * | 2015-12-30 | 2016-06-08 | 福建联迪商用设备有限公司 | 智能选通条码解码的方法及芯片 |
CN105809094A (zh) * | 2014-12-31 | 2016-07-27 | 研祥智能科技股份有限公司 | 基于机器视觉的条形码识别方法 |
CN105844200A (zh) * | 2016-03-17 | 2016-08-10 | 杭州晟元数据安全技术股份有限公司 | 一种判断条码类型的方法 |
CN107633192A (zh) * | 2017-08-22 | 2018-01-26 | 电子科技大学 | 一种基于机器视觉的复杂背景下条形码分割与识读方法 |
CN108171098A (zh) * | 2016-12-07 | 2018-06-15 | 杭州海康威视数字技术股份有限公司 | 一种条码检测方法及设备 |
CN109409161A (zh) * | 2018-10-22 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 图形码识别方法、装置、终端及存储介质 |
-
2019
- 2019-05-28 CN CN201910453554.XA patent/CN110245537B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908125A (zh) * | 2010-06-01 | 2010-12-08 | 福建新大陆电脑股份有限公司 | Qr码条码解码芯片及其解码方法 |
CN102136058A (zh) * | 2011-04-26 | 2011-07-27 | 中国农业大学 | 条形码图像识别方法 |
CN105809094A (zh) * | 2014-12-31 | 2016-07-27 | 研祥智能科技股份有限公司 | 基于机器视觉的条形码识别方法 |
CN104899542A (zh) * | 2015-05-27 | 2015-09-09 | 广州市韦尔讯信息科技有限公司 | 一种影像式cmos条码快速识别方法及装置 |
CN204791046U (zh) * | 2015-05-27 | 2015-11-18 | 广州市韦尔讯信息科技有限公司 | 一种线性ccd条码识别装置 |
CN105631383A (zh) * | 2015-12-30 | 2016-06-01 | 福建联迪商用设备有限公司 | 智能选通条码解码的方法及系统 |
CN105654004A (zh) * | 2015-12-30 | 2016-06-08 | 福建联迪商用设备有限公司 | 智能选通条码解码的方法及芯片 |
CN105844200A (zh) * | 2016-03-17 | 2016-08-10 | 杭州晟元数据安全技术股份有限公司 | 一种判断条码类型的方法 |
CN108171098A (zh) * | 2016-12-07 | 2018-06-15 | 杭州海康威视数字技术股份有限公司 | 一种条码检测方法及设备 |
CN107633192A (zh) * | 2017-08-22 | 2018-01-26 | 电子科技大学 | 一种基于机器视觉的复杂背景下条形码分割与识读方法 |
CN109409161A (zh) * | 2018-10-22 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 图形码识别方法、装置、终端及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110907132A (zh) * | 2019-12-13 | 2020-03-24 | 中国人民解放军军事科学院国防科技创新研究院 | 一种波向探测方法、系统、设备、介质 |
CN114923427A (zh) * | 2022-06-01 | 2022-08-19 | 南方电网科学研究院有限责任公司 | 一种架空导线外径测量方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110245537B (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7946491B2 (en) | Method, apparatus, and computer program product for providing a camera barcode reader | |
US9275464B2 (en) | Method for determining the extent of a foreground object in an image | |
RU2721188C2 (ru) | Улучшение контраста и снижение шума на изображениях, полученных с камер | |
EP2605186B1 (en) | Method and apparatus for recognizing a character based on a photographed image | |
JP2005316755A (ja) | 2次元矩形コードシンボル読み取り装置及び2次元矩形コードシンボル読み取り方法 | |
CN111989711B (zh) | 基于自适应前景掩模上采样在彩色图像帧序列中进行对象分割 | |
KR20030096439A (ko) | 화상 부호화장치, 화상 복호화장치, 화상 부호화방법,화상 복호화방법 및 매체 | |
WO2015002719A1 (en) | Method of improving contrast for text extraction and recognition applications | |
US8538191B2 (en) | Image correction apparatus and method for eliminating lighting component | |
CN110944237B (zh) | 一种字幕区域定位方法、装置和电子设备 | |
JP2017537403A (ja) | 超解像画像を生成するための方法、装置およびコンピュータ・プログラム・プロダクト | |
CN110245537A (zh) | 图形码解码方法,装置,存储介质及电子设备 | |
CN110555863A (zh) | 一种运动目标检测方法、装置和计算机可读存储介质 | |
JP5870745B2 (ja) | 画像処理装置、二値化閾値算出方法及びコンピュータプログラム | |
CN102782705B (zh) | 包括经历ocr处理的文本的图像的分辨率调整 | |
CN105359165A (zh) | 确定文档中的条形码位置 | |
KR101733668B1 (ko) | 물체 검출 장치, 감시 카메라 및 물체 검출 방법 | |
JP2016197377A (ja) | 画像補正用コンピュータプログラム、画像補正装置及び画像補正方法 | |
US7734090B2 (en) | Information processing device and method, and program | |
WO2016071566A1 (en) | Variable resolution image capture | |
JP5264956B2 (ja) | 2次元コード読取装置及びその方法 | |
JP4728297B2 (ja) | 2次元コード読取装置及びその方法 | |
JP4569785B2 (ja) | 二値化装置及び二値化処理プログラム | |
JP5125961B2 (ja) | 二値化処理装置、情報処理装置、二値化処理方法および二値化処理プログラム | |
CN106909956B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |