本申请涉及条码识别,例如涉及一种用于条码图像的译码方法、装置和电子设备。
背景技术:
1、条码图像具有数据容量大、纠错能力强、可靠性高等特点,应用十分广泛。条码图像的识别是条码应用中非常重要的一环。条码图像识别设备一般通过摄像头拍摄条码图像,通过条码识别算法对条码图像进行识别。条码识别算法一般包含定位、采样、二值化、纠错、译码等几个步骤。在通过摄像头拍摄条码图像时,所拍摄的图像一般是彩色或者灰度的,其中彩色图像一般也转成灰度图像进行识别。采样时,条码图像每个单元模块会采样得到一个灰度值,然后通过二值化阈值判断该单元模块是黑模块还是白模块。实际应用中难免有部分单元模块被误判,此时就需要靠纠错算法进行纠错。纠错成功后才能进行译码,完成条码图像的识别。
2、当条码数据容量较大时,相关技术通常将条码数据分割成多个纠错块,并对每一纠错块进行纠错。只有在全部纠错块纠错成功的情况下,才能实现条码图像译码成功,只要有一个纠错块纠错失败,条码图像就译码失败。
3、在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:在实际应用中,条码图像可能存在光照不均、扩散、低对比度和模糊等各种情况,导致二值化出现较多错误,从而导致一些纠错块纠错失败,进而导致条码图像译码失败。
4、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种用于条码图像的译码方法、装置和电子设备,以提高纠错块中单元模块二值化的准确率,从而提高条码图像译码的准确率。
3、在一些实施例中,用于条码图像的译码方法包括:在条码图像的部分纠错块纠错成功的情况下,将条码图像的初始码图片区切割为多个子片区,并确定每一子片区中纠错成功的纠错块;根据子片区中纠错成功的纠错块确定子片区中纠错失败的纠错块的二值化阈值;按照子片区中纠错失败的纠错块的二值化阈值对子片区中纠错失败的纠错块重新进行纠错。
4、可选地,根据子片区中纠错成功的纠错块确定子片区中纠错失败的纠错块的二值化阈值,包括:确定子片区中纠错成功的纠错块的白色单元模块的平均灰度值和黑色单元模块的平均灰度值;计算白色单元模块的平均灰度值和黑色单元模块的平均灰度值的灰度平均值;将灰度平均值作为子片区中纠错失败的纠错块的二值化阈值。
5、可选地,根据子片区中纠错成功的纠错块确定子片区中纠错失败的纠错块的二值化阈值,包括:获得子片区中纠错成功的纠错块的白色单元模块数量和黑色单元模块数量;根据白色单元模块数量和黑色单元模块数量,确定子片区中纠错失败的纠错块的二值化阈值。
6、可选地,根据白色单元模块数量和黑色单元模块数量,确定子片区中纠错失败的纠错块的二值化阈值,包括:在白色单元模块数量或黑色单元模块数量小于第一预设数量的情况下,将初始码图片区中纠错失败的二值化阈值作为子片区中纠错失败的纠错块的二值化阈值;和/或,在白色单元模块数量和黑色单元模块数量均大于或等于第一预设数量的情况下,将子片区中纠错成功的纠错块的二值化阈值作为子片区中纠错失败的纠错块的二值化阈值。
7、可选地,按照如下方式确定子片区中纠错成功的纠错块的二值化阈值:根据子片区中纠错成功的纠错块的二值化原始阈值,确定子片区中纠错成功的纠错块的多个二值化更新阈值;按照多个二值化更新阈值对子片区中纠错成功的纠错块进行二值化并进行错误验证,确定每个二值化更新阈值所对应的子片区中纠错成功的纠错块中的错误单元模块数量;基于错误单元模块数量,确定子片区中纠错成功的纠错块的二值化阈值。
8、可选地,根据子片区中纠错成功的纠错块的二值化原始阈值,确定子片区中纠错成功的纠错块的多个二值化更新阈值,包括按照如下公式确定二值化更新阈值:
9、
10、其中,r为二值化更新阈值,为二值化原始阈值,为边界阈值下限,为边界阈值上限。
11、可选地,基于错误单元模块数量,确定子片区中纠错成功的纠错块的二值化阈值,包括:确定多个错误单元模块数量中满足错误单元模块数量条件的目标错误单元模块数量;其中,错误单元模块数量条件包括错误单元模块数量最少,或者错误单元模块数量小于第二预设数量;确定目标错误单元模块数量所对应的目标二值化更新阈值;根据目标二值化更新阈值确定子片区中纠错成功的纠错块的二值化阈值。
12、可选地,将条码图像的初始码图片区切割为多个子片区,包括:获得条码图像的部分纠错块的纠错成功率;根据纠错成功率确定子片区的目标切割数量;按照目标切割数量,将条码图像的初始码图片区切割为多个子片区。
13、在一些实施例中,用于条码图像的译码装置包括处理器和存储有程序指令的存储器,处理器被配置为在运行所述程序指令时,执行如上述的用于条码图像的译码方法。
14、在一些实施例中,电子设备包括:电子设备本体;和,如上述的用于条码图像的译码装置,被安装于电子设备本体。
15、本公开实施例提供的用于条码图像的译码方法、装置和电子设备,可以实现以下技术效果:
16、通过将条码图像的初始码图片区切割为多个子片区,并确定每一子片区中纠错成功的纠错块,从而确定该子片区中纠错失败的纠错块的二值化阈值。由于纠错块中单元模块的二值化结果能够提供关于数据位的明确指示,使得纠错编码可以更加精确地检测和纠正错误。因此,通过重新确定的每一子片区中纠错失败的纠错块的二值化阈值,使得纠错块中单元模块二值化结果更加准确,从而提高对纠错失败的纠错块的纠错能力,进而提高条码图像译码的准确率。
17、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
1.一种用于条码图像的译码方法,其特征在于,包括:
2.根据权利要求1所述的译码方法,其特征在于,根据子片区中纠错成功的纠错块确定子片区中纠错失败的纠错块的二值化阈值,包括:
3.根据权利要求1所述的译码方法,其特征在于,根据子片区中纠错成功的纠错块确定子片区中纠错失败的纠错块的二值化阈值,包括:
4.根据权利要求3所述的译码方法,其特征在于,根据白色单元模块数量和黑色单元模块数量,确定子片区中纠错失败的纠错块的二值化阈值,包括:
5.根据权利要求4所述的译码方法,其特征在于,按照如下方式确定子片区中纠错成功的纠错块的二值化阈值:
6.根据权利要求5所述的译码方法,其特征在于,根据子片区中纠错成功的纠错块的二值化原始阈值,确定子片区中纠错成功的纠错块的多个二值化更新阈值,包括按照如下公式确定二值化更新阈值:
7.根据权利要求5所述的译码方法,其特征在于,基于错误单元模块数量,确定子片区中纠错成功的纠错块的二值化阈值,包括:
8.根据权利要求1至7任一项所述的译码方法,其特征在于,将条码图像的初始码图片区切割为多个子片区,包括:
9.一种用于条码图像的译码装置,包括处理器和存储有程序指令的存储器,其特征在于,处理器被配置为在运行所述程序指令时,执行如权利要求1至8任一项所述的用于条码图像的译码方法。
10.一种电子设备,其特征在于,包括: