一种黑白二值签名图片存储方法和系统与流程

专利2022-06-29  83


本发明涉及图像处理技术领域,特别是涉及一种黑白二值签名图片存储方法和一种黑白二值签名图片存储系统。



背景技术:

近年来随着计算机技术的快速发展,计算机视觉得到了越来越广泛应用,而常用的计算机视觉应用通常会涉及字符识别技术。

图片数据一般为rgb图片或argb图片,二值图片不需要表现出rgb数据或者argb数据,若使用jpeg或png存储容易造成数据浪费,采用白黑像素长度存储可减少数据量。

为提高字符识别的准确率,企业需要对相关的用户黑白二值前面图片进行存储,需要提供专门的存储空间,其原始图片的存储会占用巨大的存储空间。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种黑白二值签名图片存储方法和相应的一种黑白二值签名图片存储装置。

为了解决上述问题,本发明实施例公开了一种黑白二值签名图片存储方法,其特征在于,包括:

获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;

获取所述一维数组中的连续像素量的存储长度序列;

将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;

将所述长度数据进行头部拼接后存储至数据库中。

进一步地,所述将所述存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤,包括:

将所述存储长度序列转化成uint16_t形式的第一长度数据;

在所述第一长度数据中的颜色反转位置加入标志位,得到所述长度数据。

进一步地,所述将所述存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤之后,包括:

将所述长度数据采用lzma压缩,得到压缩数据;

判断所述压缩数据是否小于所述长度数据;

若是,则将所述压缩数据替换所述长度数据。

进一步地,所述将所述长度数据进行头部拼接后存储至数据库中的步骤,包括:

将所述长度数据的数据类型和所述黑白二值签名图像的尺寸数据头部拼接至所述长度数据,并存储至所述数据库中。

本发明实施例公开了一种黑白二值签名图片存储系统,包括:

图像采集模块,用于获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;

长度存储模块,用于获取所述一维数组中的连续像素量的存储长度序列;

数据转化模块,用于将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;

头部拼接模块,用于将所述长度数据进行头部拼接后存储至数据库中。

进一步地,所述数据转化模块包括:

第一数据转化单元,用于将所述存储长度序列转化成uint16_t形式的第一长度数据;

第二数据转化单元,用于在所述第一长度数据中的颜色反转位置加入标志位,得到所述长度数据。

进一步地,还包括:

压缩模块,用于将所述长度数据采用lzma压缩,得到压缩数据;

数据分析模块,用于判断所述压缩数据是否小于所述长度数据;

数据替换模块,用于若是,则将所述压缩数据替换所述长度数据。

进一步地,所述头部拼接模块包括:

头部拼接单元,用于将所述长度数据的数据类型和所述黑白二值签名图像的尺寸数据头部拼接至所述长度数据,并存储至所述数据库中。

本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的黑白二值签名图片存储的方法的步骤。

本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的黑白二值签名图片存储的方法的步骤。

本发明实施例包括以下优点:在黑白二值签名图片存储过程中对图片数据进行重新排列,签名图为黑白二值图片,采用白黑像素长度值字节间隔存储,有效地利用存储空间,提供存储空间利用率。

附图说明

图1是本发明的一种黑白二值签名图片存储方法实施例的步骤流程图;

图2是本发明的一种黑白二值签名图片存储方法实施例的步骤流程图

图3是本发明的一种黑白二值签名图片存储系统实施例的结构框图;

图4是本发明的一种黑白二值签名图片存储系统实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明实施例的核心构思之一在于,提供了一种黑白二值签名图片存储方法及系统,其中,一种黑白二值签名图片存储方法包括:获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;获取所述一维数组中的连续像素量的存储长度序列;将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;将所述长度数据进行头部拼接后存储至数据库中。在黑白二值签名图片存储过程中对图片数据进行重新排列,签名图为黑白二值图片,采用白黑像素长度值字节间隔存储,有效地利用存储空间,提供存储空间利用率。

参照图1-2,示出了本发明的一种黑白二值签名图片存储方法实施例的步骤流程图,具体可以包括如下步骤:

s100,获取黑白二值签名图像,并将黑白二值签名图像中每个像素的值取出,形成一维数组;

s200,获取一维数组中的连续像素量的存储长度序列;

s300,将存储长度序列按预设规则转化成uint16_t形式的长度数据;

s400,将长度数据进行头部拼接后存储至数据库中。

参照上述步骤s100所述,获取黑白二值签名图像,并将黑白二值签名图像中每个像素的值取出,形成一维数组。黑白二值签名图像是利用二值图像搭载的签名图像,二值图像是指将图像上的每一个像素只有两种可能的取值或灰度等级状态,常用黑白、b&w、单色图像表示二值图像。二值图像是指在图像中,灰度等级只有两种,图像中的任何像素点的灰度值均为0或者255,分别代表黑色和白色。二值图像用来描述字符图像,其占用空间少。

参照上述步骤s200所述,获取一维数组中的连续像素量的存储长度序列。在黑白二值签名图像中每个像素取出形成的一维数组中,获取连续像素的长度,将其形成存储长度序列,上述连续像素的长度是指像素值连续且相同的像素所占的个数,将其个数排列形成存储长度序列。

参照上述步骤s300所述,将存储长度序列按预设规则转化成uint16_t形式的长度数据。采用uint16_t进行存储长度序列,超过uint16_t最大数据,存储0xffff后,后一个字节存储原总长度减0xffff的数值,若依然大于0xffff,重复此操作。在黑白二值签名图片存储过程中对图片数据进行重新排列,签名图为黑白二值图片,采用白黑像素长度值字节间隔存储,有效地利用存储空间,提供存储空间利用率。

在本实施例中,将存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤s300,包括:

s310,将存储长度序列转化成uint16_t形式的第一长度数据;

s320,在第一长度数据中的颜色反转位置加入标志位,得到长度数据。

参照上述步骤所述,将图片每个像素的值取出来存成一维数组,进行遍历一维数组,若遇到透明色或者白色,则白色总数加一,遇到黑色像素,将白色总数存储下来后置为0,黑色总数加一,若后续再遇到白色像素,黑色像素总数存储后置为0,白色总数加一,后续依次如此处理。默认开始为白色,默认遇到一个非零数据就翻转颜色,默认采用uint16_t(两个字节)进行存储长度数据,超过uint16_t最大数据,存储0xffff后,后一个字节存储原总长度减0xffff的数值,若依然大于0xffff,重复此操作。若长度刚好为0xffff的倍数,按上述步骤处理完之后,补上0x0000,若遇到0xffff则后面数据与当前颜色相同,不反转颜色;若遇到0x0000则代表翻转颜色,其中uint16_t0xffff表示65535个相同色块,后续数据不反转颜色,与当前颜色相同,uint16_t0x0000不代表色块数量或者当前颜色的长度为0,仅仅代表反转颜色的标志位,uint16_t0x0001~0xfffe:代表色块数量,后续数据反转颜色。

在本实施例中,将存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤s300之后,包括:

将长度数据采用lzma压缩,得到压缩数据;

判断压缩数据是否小于长度数据;

若是,则将压缩数据替换长度数据。

参照上述步骤所述,采用lzma压缩上述生成的长度数据,若lzma压缩的数据小于原数据大小,则采用压缩数据作为长度数据进行存储。若所述压缩数据大于长度数据,则采用原来的长度数据进行存储。能够有效的利用空间,提高存储效率。

在本实施例中,将长度数据进行头部拼接后存储至数据库中的步骤s400,包括:

将长度数据的数据类型和黑白二值签名图像的尺寸数据头部拼接至长度数据,并存储至数据库中。最前方的数据前四个字节为魔数字段,代表数据类型;.isi四个字符ascii码数据,表示没有采用lzma压缩的数据;zisi四个字节ascii码数据,表示采用了lzma压缩的数据;第五个字节第六个字节代表图片宽度,采用uint16_t数据小端存储;第七个字节第八个字节代表图片高度,采用uint16_t数据小端存储。在黑白二值签名图片存储过程中对图片数据进行重新排列,签名图为黑白二值图片,采用白黑像素长度值字节间隔存储,有效地利用存储空间,提供存储空间利用率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3-4,示出了本发明的一种黑白二值签名图片存储系统实施例的结构框图,具体可以包括如下模块:

图像采集模块100,用于获取黑白二值签名图像,并将黑白二值签名图像中每个像素的值取出,形成一维数组;

长度存储模块200,用于获取一维数组中的连续像素量的存储长度序列;

数据转化模块300,用于将存储长度序列按预设规则转化成uint16_t形式的长度数据;

头部拼接模块400,用于将长度数据进行头部拼接后存储至数据库中。

在本实施例中,数据转化模块300包括:

第一数据转化单元310,用于将存储长度序列转化成uint16_t形式的第一长度数据;

第二数据转化单元320,用于在第一长度数据中的颜色反转位置加入标志位,得到长度数据。

在本实施例中,还包括:

压缩模块,用于将长度数据采用lzma压缩,得到压缩数据;

数据分析模块,用于判断压缩数据是否小于长度数据;

数据替换模块,用于若是则将压缩数据替换长度数据。

在本实施例中,头部拼接模块400包括:

头部拼接单元,用于将长度数据的数据类型和黑白二值签名图像的尺寸数据头部拼接至长度数据,并存储至数据库中。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的黑白二值签名图片存储的方法的步骤。

本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述的黑白二值签名图片存储的方法的步骤。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种黑白二值签名图片存储方法和一种黑白二值签名图片存储系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。


技术特征:

1.一种黑白二值签名图片存储方法,其特征在于,包括:

获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;

获取所述一维数组中的连续像素量的存储长度序列;

将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;

将所述长度数据进行头部拼接后存储至数据库中。

2.根据权利要求1所述的方法,其特征在于,所述将所述存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤,包括:

将所述存储长度序列转化成uint16_t形式的第一长度数据;

在所述第一长度数据中的颜色反转位置加入标志位,得到所述长度数据。

3.根据权利要求1所述的方法,其特征在于,所述将所述存储长度序列按预设规则转化成uint16_t形式的长度数据的步骤之后,包括:

将所述长度数据采用lzma压缩,得到压缩数据;

判断所述压缩数据是否小于所述长度数据;

若是,则将所述压缩数据替换所述长度数据。

4.根据权利要求3所述的方法,其特征在于,所述将所述长度数据进行头部拼接后存储至数据库中的步骤,包括:

将所述长度数据的数据类型和所述黑白二值签名图像的尺寸数据头部拼接至所述长度数据,并存储至所述数据库中。

5.一种黑白二值签名图片存储系统,其特征在于,包括:

图像采集模块,用于获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;

长度存储模块,用于获取所述一维数组中的连续像素量的存储长度序列;

数据转化模块,用于将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;

头部拼接模块,用于将所述长度数据进行头部拼接后存储至数据库中。

6.根据权利要求5所述的系统,其特征在于,所述数据转化模块包括:

第一数据转化单元,用于将所述存储长度序列转化成uint16_t形式的第一长度数据;

第二数据转化单元,用于在所述第一长度数据中的颜色反转位置加入标志位,得到所述长度数据。

7.根据权利要求5所述的系统,其特征在于,还包括:

压缩模块,用于将所述长度数据采用lzma压缩,得到压缩数据;

数据分析模块,用于判断所述压缩数据是否小于所述长度数据;

数据替换模块,用于若是,则将所述压缩数据替换所述长度数据。

8.根据权利要求7所述的系统,其特征在于,所述头部拼接模块包括:

头部拼接单元,用于将所述长度数据的数据类型和所述黑白二值签名图像的尺寸数据头部拼接至所述长度数据,并存储至所述数据库中。

9.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的黑白二值签名图片存储的方法的步骤。

10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的黑白二值签名图片存储的方法的步骤。

技术总结
本发明实施例提供了一种黑白二值签名图片存储方法和系统,其中,一种黑白二值签名图片存储方法包括:获取黑白二值签名图像,并将所述黑白二值签名图像中每个像素的值取出,形成一维数组;获取所述一维数组中的连续像素量的存储长度序列;将所述存储长度序列按预设规则转化成uint16_t形式的长度数据;将所述长度数据进行头部拼接后存储至数据库中。在黑白二值签名图片存储过程中对图片数据进行重新排列,签名图为黑白二值图片,采用白黑像素长度值字节间隔存储,有效地利用存储空间,提供存储空间利用率。

技术研发人员:朱克锋;邵伟男;黄利庆;吴松;韩昌雷
受保护的技术使用者:深圳盒子信息科技有限公司
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24211.html

最新回复(0)