图像自适应压缩方法、装置、终端及存储介质与流程

文档序号:16685849发布日期:2019-01-22 18:18阅读:253来源:国知局
图像自适应压缩方法、装置、终端及存储介质与流程

本发明实施例涉及图像处理技术,尤其涉及一种图像自适应压缩方法、装置、终端及存储介质。



背景技术:

目前,数码相机、监控摄像头、扫描仪等设备产生的图像已经广泛应用在很多业务场景中,随着移动设备(如手机、ipad等)的爆发式增长,移动设备的摄像头产生的图像也在许多产品中应用。由于图像数据较大,一般图像在传输或存储之前都会做压缩处理以节省带宽和存储空间。

联合图像专家组(jointphotographicexpertsgroup,jpeg)是一种广泛应用的图像压缩格式,jpeg压缩一般包括颜色转换、离散余弦变换(discretecosinetransform,dct)、量化、编码等步骤。其中量化是影响压缩后图像质量和压缩比的主要步骤,此步骤中主要参数是质量因子。质量因子越大,压缩比越小,压缩后图像质量越高;反之,质量因子越小,压缩比越大,压缩后图像质量越低。

压缩图像一般采用jpeg有损压缩,且jpeg质量因子固定,这样会导致清晰的图像没有得到足够的压缩,占用带宽和存储空间,而模糊的图像压缩过度导致过于模糊无法使用。



技术实现要素:

本发明提供一种图像自适应压缩方法、装置、终端及存储介质,以实现在保证图像质量的前提下能够有效降低带宽和存储空间。

第一方面,本发明实施例提供了一种图像自适应压缩方法,包括:

根据字符图像的特征信息计算图像缩放系数和图像压缩的质量因子;

按照所述图像缩放系数对所述字符图像进行缩放;

按照所述质量因子对缩放后的图像进行压缩。

第二方面,本发明实施例还提供了一种图像自适应压缩装置,包括:

参数计算模块,用于根据字符图像的特征信息计算图像缩放系数和图像压缩的质量因子;

图像缩放模块,用于按照所述图像缩放系数对所述字符图像进行缩放;

图像压缩模块,用于按照所述质量因子对缩放后的图像进行压缩。

第三方面,本发明实施例还提供了一种终端,所述终端包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的图像自适应压缩方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的图像自适应压缩方法。

本发明实施例的图像自适应压缩方法、装置、终端及存储介质,根据字符图像的特征信息确定图像压缩的缩放系数和质量因子,根据上述参数进行图像压缩,实现了图像的自适应压缩,在不影响图像使用的前提下大大减小了图像文件的大小,节省带宽和存储空间,且识别精度不变。

附图说明

图1是本发明实施例一提供的图像自适应压缩方法的流程图;

图2是本发明实施例二提供的二值图像的示意图;

图3是本发明实施例二提供的字符图像中的连通域示意图;

图4是本发明实施例二提供的过滤噪声后的连通域示意图;

图5是本发明实施例二提供的连通域高度直方图;

图6是本发明实施例二提供的平滑处理后的连通域高度直方图;

图7是本发明实施例三提供的图像自适应压缩装置的结构框图;

图8是本发明实施例四提供的一种终端的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一提供的图像自适应压缩方法的流程图,本实施例可适用于根据图像内容自适应压缩图像的情况,尤其适用于字符图像的自适应压缩,例如jpeg压缩,该方法可以由图像自适应压缩装置来执行。如图1所示,该方法具体包括如下步骤:

步骤110,根据字符图像的特征信息计算图像缩放系数和图像压缩的质量因子。

其中,字符图像的特征信息可以包括:字符图像的清晰度(也可以是模糊程度)、字符图像中的字符高度等。

步骤120,按照图像缩放系数对字符图像进行缩放。

其中,按照图像缩放系数对字符图像进行缩放,就是按照缩放系数s采样字符图像,具体的,wdst=wsrc×s,hdst=hsrc×s,其中,wsrc表示源图像(即原始字符图像)的宽度,hsrc表示源图像的高度,wdst表示目标图像(即缩放后的图像)的宽度,hdst表示目标图像的高度。较优的,缩放过程可以采用双线性插值方法。

步骤130,按照质量因子对缩放后的图像进行压缩。

其中,压缩可以是jpeg压缩,例如,jpeg压缩过程可以采用libjpeg。

本实施例的图像自适应压缩方法,根据字符图像的特征信息确定图像压缩的缩放系数和质量因子,根据上述参数进行图像压缩,实现了图像的自适应压缩,在不影响图像使用的前提下大大减小了图像文件的大小,节省带宽和存储空间,且识别精度不变。

本实施例根据图像内容自适应调整图像缩放系数和图像压缩的质量因子,然后进行图像缩放和压缩。对于光学字符识别(opticalcharacterrecognition,ocr)场景,ocr系统能容忍一定程度的图像质量损失,因此可以适当减小质量因子,以减小压缩后的图像文件大小。对于大分辨率图像,可以对图像做适当缩放以更进一步减少压缩后的图像文件大小。由此根据图像内容自适应压缩后的字符图像能够节省带宽和存储空间。

在上述技术方案的基础上,步骤110中根据字符图像的特征信息计算图像缩放系数,优选可以通过图像中的字符高度计算图像缩放系数,具体步骤如下:确定字符图像中的最佳字符高度,其中最佳字符高度是对应字符个数最多的字符高度;根据预设字符高度与最佳字符高度的比值计算图像缩放系数。

其中,可以分析字符图像中各字符的字符高度,并统计同一字符高度对应的字符个数,选取字符个数最大值对应的字符高度,作为最佳字符高度。例如,可以对字符图像进行二值化,进行字符分割,根据前景点统计各字符的字符高度。对于ocr系统,图像中平均字符高度在32pt(point,标准的长度单位)以上就能较好地识别,因此,预设字符高度可以是32pt。预设字符高度与最佳字符高度的比值,可以表示字符图像针对ocr系统的可识别程度,据此计算图像缩放系数,能够在保证图像质量的前提下尽可能地缩小图像,从而能够有效降低带宽和减少存储成本。

优选的,可以采用以下公式计算图像缩放系数:

其中,s表示图像缩放系数,min(i,j)表示取i与j中的最小值,h表示预设字符高度,hf表示最佳字符高度。

根据上述公式,如果最佳字符高度大于预设字符高度,则对字符图像进行缩放处理(具体为缩小图像);如果最佳字符高度小于或等于预设字符高度,则不做缩放处理。

步骤110中根据字符图像的特征信息计算质量因子,优选可以根据字符图像的模糊程度进行质量因子的计算,具体步骤如下:根据字符图像的梯度确定字符图像的模糊程度;根据预设质量因子范围及字符图像的模糊程度计算压缩质量因子。

其中,字符图像的模糊程度可以使用现有算法进行估算,例如,brenner梯度函数、tenengrad梯度函数、laplacian梯度函数、smd(灰度方差)函数等,本发明实施例对估算图像模糊程度的具体过程不进行详细说明。图像梯度越小图像越模糊,表示图像模糊程度的值b就越大,b∈[0.0,1.0]。预设质量因子范围可以是[40,100],以防止过度压缩,影响图像质量。

优选的,可以采用以下公式计算质量因子:

q=min(100,max(40,100×(b+0.2)));

其中,q表示质量因子(取值范围可以是[0,100]),max(i,j)表示取i与j中的最大值,min(i,j)表示取i与j中的最小值,b表示字符图像的模糊程度,0.2表示固定补偿系数,40表示预设的质量因子下限,100表示预设的质量因子上限。图像越清晰,则质量因子越小,图像越模糊,则质量因子越大,由此能够保证压缩后的图像质量。

此外,质量因子的计算,除了考虑图像模糊程度之外,还可以考虑图像本身的尺寸。在按照质量因子对缩放后的图像进行压缩之前,上述方法还可以包括:检测字符图像的尺寸;如果字符图像的尺寸小于预设尺寸,按照预设值对质量因子进行调整。

其中,预设尺寸可以是600×300,预设值可以是经验值,例如20。具体的,图像尺寸小于预设尺寸时,可以在步骤110计算得到的质量因子上增加预设值,即提高质量因子的值,以防止小图像的过度压缩,导致压缩后的图像清晰度较差。

实施例二

在上述实施例的基础上,本实施例提供了确定字符图像中的最佳字符高度的一种优选实施方式,可以利用连通域分析实现,具体包括:对字符图像进行二值化,得到二值图像;获取二值图像中的所有连通域,并计算各连通域的高度;根据各连通域的高度确定最佳字符高度。基于连通域分析确定最佳字符高度,结果准确可靠,且方法简单,易于实现。

其中,图像二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。常见的二值化方法主要分为两类:全局固定阈值二值化和局部自适应二值化,例如,双峰法、p参数法、otsu法、最大熵阈值法、迭代法(最佳阈值法)等。本实施例对图像二值化过程不进行详述,优选可以采用全局固定阈值二值化和局部自适应二值化结合的方式完成二值化。

获取二值图像中的所有连通域,即对二值图像进行连通域分析。连通域是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域,连通域分析是指按行或者按列访问图像的所有前景像素点,找出所有连通域并进行标记。具体的,可以采用八连通域或者四连通域对二值图像各前景像素点进行连通域分析。

连通域的高度即连通域下边缘到上边缘的距离,可以使用行数来表示。一般而言,一个字符至少包括一个连通域,连通域的高度基本上可以反应字符高度,例如,数字2,是一个连通域,其连通域高度即为字符高度;又如,汉字“式”,包括两个连通域,其中高度较高的连通域即为该汉字的字符高度。

进一步的,根据各连通域的高度确定最佳字符高度可以包括:对各连通域的高度进行直方图统计,得到直方图,其中直方图表示连通域高度及其对应的连通域个数;对直方图进行平滑处理;在平滑处理后的直方图中,选取最大连通域个数所对应的连通域高度,作为最佳字符高度。

其中,直方图的横坐标可以表示连通域高度,纵坐标表示处于对应连通域高度的连通域个数。对直方图进行平滑处理,可以抑制噪声和干扰高频成分,减小突变梯度,使得直方图更加符合使用需求。平滑处理可以使用插值方法、线性平滑方法、卷积法等,以插值法为例,平滑窗口为3,即取前一个值、当前值和下一个值的平均作为平滑后的值。

较优的,在计算各连通域的高度之前,还可以根据预设条件对获取的连通域进行过滤,以去除过小或者过大的连通域,因为这些是图像噪声。例如,预设条件可以包括连通域的宽度范围、高度范围、面积范围、宽高比值的范围等。

下面结合具体实例说明利用连通域分析确定字符图像中的最佳字符高度的过程。

对字符图像(灰度图像)进行二值化,得到二值图像,如图2所示。对二值图像进行连通域分析,获取二值图像中的所有连通域,如图3所示,在灰度图像中标注了所有连通域,图3中,每一个框内均是一个连通域,框可以理解为连通域的最小外接矩形,连通域σ的最小外接矩形的宽度为wσ,高度为hσ,面积为sσ。连通域的集合表示为l={σ}。

根据预设条件对获取的连通域进行过滤,以去除过小、过大、扁平的连通域,得到过滤噪声后的连通域集合l',其中预设条件如下:

过滤噪声后的连通域如图4所示,连通域的高度是其最小外接矩形的高度,对过滤噪声后的连通域集合l'进行直方图统计,得到的连通域高度直方图如图5所示,在图5中,横坐标表示连通域高度,纵坐标表示处于对应连通域高度的连通域个数,例如,连通域高度为25的连通域个数是2。对图5所示的直方图进行平滑处理,这里使用插值法进行平滑处理,平滑窗口为3,平滑处理后的连通域集合p=smooth(l'),平滑处理后的连通域高度直方图如图6所示,选取最大连通域个数所对应的连通域高度,作为最佳字符高度,在图6中,连通域高度39所对应的连通域个数最多,因此取39作为最佳字符高度,即hf=indexofmax(p),其中indexof函数表示指定字符在此实例中的第一个匹配项的索引,对于本实施例,indexofmax(p)表示在图6所示的直方图中查找纵坐标最大值的位置。

与采用固定质量因子进行图像压缩的技术相比,通过本发明实施例的图像自适应压缩方法,上述图像的平均大小由200kb减小到35kb,文件大小降低到原来的17.5%。

实施例三

本实施例提供了一种图像自适应压缩装置,可以用于实现实施例一所述的图像自适应压缩方法。图7是本发明实施例三提供的图像自适应压缩装置的结构框图,如图7所示,该装置包括:参数计算模块710、图像缩放模块720和图像压缩模块730。

参数计算模块710,用于根据字符图像的特征信息计算图像缩放系数和图像压缩的质量因子;

图像缩放模块720,用于按照图像缩放系数对字符图像进行缩放;

图像压缩模块730,用于按照压缩质量因子对缩放后的图像进行压缩。

本实施例的图像自适应压缩装置,根据字符图像的特征信息确定图像压缩的缩放系数和质量因子,根据上述参数进行图像压缩,实现了图像的自适应压缩,在不影响图像使用的前提下大大减小了图像文件的大小,节省带宽和存储空间,且识别精度不变。

在上述技术方案的基础上,参数计算模块710包括:字符高度确定单元,用于确定字符图像中的最佳字符高度,其中最佳字符高度是对应字符个数最多的字符高度;缩放系数计算单元,用于根据预设字符高度与最佳字符高度的比值计算图像缩放系数。

优选的,字符高度确定单元可以包括:二值化子单元,用于对字符图像进行二值化,得到二值图像;连通域分析子单元,用于获取二值图像中的所有连通域,并计算各连通域的高度;字符高度确定子单元,根据各连通域的高度确定最佳字符高度。

字符高度确定子单元具体用于:对各连通域的高度进行直方图统计,得到直方图,其中直方图表示连通域高度及其对应的连通域个数;对直方图进行平滑处理;在平滑处理后的直方图中,选取最大连通域个数所对应的连通域高度,作为最佳字符高度。

连通域分析子单元还用于:在计算各连通域的高度之前,根据预设条件对获取的连通域进行过滤。

优选的,缩放系数计算单元具体可以采用以下公式计算图像缩放系数:

其中,s表示图像缩放系数,min(i,j)表示取i与j中的最小值,h表示预设字符高度,hf表示最佳字符高度。

在上述技术方案的基础上,参数计算模块710包括:模糊程度确定单元,用于根据字符图像的梯度确定字符图像的模糊程度;质量因子计算单元,用于根据预设质量因子范围及字符图像的模糊程度计算质量因子。

优选的,质量因子计算单元具体可以采用以下公式计算质量因子:

q=min(100,max(40,100×(b+0.2)));

其中,q表示质量因子,max(i,j)表示取i与j中的最大值,min(i,j)表示取i与j中的最小值,b表示字符图像的模糊程度,0.2表示固定补偿系数,40表示质量因子下限,100表示质量因子上限。

在上述技术方案的基础上,上述装置还可以包括:尺寸检测模块,用于在按照质量因子对缩放后的图像进行压缩之前,检测字符图像的尺寸;质量因子调整模块,用于在字符图像的尺寸小于预设尺寸的情况下,按照预设值对质量因子进行调整。

本发明实施例所提供的图像自适应压缩装置可执行本发明任意实施例所提供的图像自适应压缩方法,具备执行方法相应的功能模块和有益效果。

实施例四

图8是本发明实施例四提供的一种终端的结构示意图,如图8所示,该终端包括:处理器810、存储器820、输入装置830和输出装置840;终端中处理器810的数量可以是一个或多个,图8中以一个处理器810为例;终端中的处理器810、存储器820、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线连接为例。

存储器820作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的图像自适应压缩方法对应的程序指令/模块(例如,图像自适应压缩装置中的参数计算模块710、图像缩放模块720和图像压缩模块730)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的图像自适应压缩方法。

存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置830可用于接收输入的信息或图像。输出装置840可包括显示屏等显示设备,用于显示图像、直方图等。

实施例五

本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的图像自适应压缩方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述图像自适应压缩装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1