一种图片压缩方法及相关装置

文档序号:192747 发布日期:2021-11-02 浏览:26次 >En<

阅读说明:本技术 一种图片压缩方法及相关装置 (Picture compression method and related device ) 是由 何文亚 顾晔佳 于 2021-06-30 设计创作,主要内容包括:本发明实施例公开了一种图片压缩方法及相关装置,该方法可包括:获取待压缩图片的第一参数信息和预设的第二参数信息,通过对比待压缩图片的第一参数信息和预设的第二参数信息得到第一对比结果,根据第一对比结果确定输出图片或明确压缩参数并压缩图片,得到压缩后的图片;然后再对比压缩后的图片的第三参数信息和预设的第二参数信息得到第二对比结果,进一步根据第二对比结果确定输出图片或重新调整压缩参数并继续压缩该压缩后的图片,重复对比、调整、压缩过程直至达到第二预设条件。本发明实施例可以通过多次对比、动态调整压缩参数、多次压缩,最终输出符合要求的图片,提升用户体验。(The embodiment of the invention discloses a picture compression method and a related device, wherein the method comprises the following steps: acquiring first parameter information and preset second parameter information of a picture to be compressed, obtaining a first comparison result by comparing the first parameter information and the preset second parameter information of the picture to be compressed, determining an output picture or determining a compression parameter and compressing the picture according to the first comparison result, and obtaining a compressed picture; and then comparing the third parameter information of the compressed picture with the preset second parameter information to obtain a second comparison result, further determining to output the picture or readjust the compression parameter according to the second comparison result and continuously compressing the compressed picture, and repeating the comparison, adjustment and compression processes until a second preset condition is reached. According to the embodiment of the invention, the picture meeting the requirements can be finally output through multiple comparison, dynamic adjustment of compression parameters and multiple compression, and the user experience is improved.)

一种图片压缩方法及相关装置

技术领域

本发明涉及通信技术领域,尤其涉及一种图片压缩方法及相关装置。

背景技术

图片识别是日常办理线上业务时,普遍会遇到的场景,但是不同的应用或平台在进行图片识别时,对于要上传的图片格式、图片占用的内存字节数等参数有不同的要求,用户往往需要先对图片进行压缩之后再上传应用或平台进行图片识别。

然而,现有技术中,图片压缩过程经常会出现图片被过度压缩的情况,压缩出的图片不符合要求,导致很多系统或平台对于图片识别的成功率比较低,因此需要用户重新对图片进行压缩后再上传识别,且容易出现连续多次识别失败的情况,用户体验差。因此如何提供一种有效的图片压缩方案,能够输出符合目标要求的图片,提高图片识别的成功率,提升用户体验,是亟待解决的问题。

发明内容

本发明实施例提供一种图片压缩方法及相关装置,可以输出符合目标要求的图片,提高图片识别的成功率,提升用户体验。

第一方面,本发明实施例提供了一种图片压缩方法,可包括:

获取待压缩图片的第一参数信息和预设的第二参数信息;

将所述第一参数信息和所述预设的第二参数信息进行对比,得到第一对比结果;若所述第一对比结果不满足第一预设条件,则根据所述第一对比结果确定压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片;

获取所述压缩后的图片的第三参数信息,并将所述第三参数信息和所述预设的第二参数信息进行对比,得到第二对比结果;

若所述第二对比结果不满足第二预设条件,则根据所述第二对比结果调整所述压缩参数,并根据调整后的所述压缩参数对所述压缩后的图片进行压缩,重复对比、调整、压缩过程直至达到所述第二预设条件,输出所述待压缩图片对应的目标图片。

本发明实施例,首先获取待压缩图片的参数信息和预设的参数信息,再对该两组参数信息进行对比,若第一次对比的结果不满足条件,则根据第一次对比的结果确定压缩参数后对待压缩图片进行第一轮压缩,若经过该第一轮压缩后的图片仍不满足条件,则根据新的对比结果重新调整压缩参数后,再继续进行下一轮的压缩,重复执行对比、调整和压缩的过程直到最终输出的图片符合要求。其中,由于在每一次压缩的过程中,压缩参数是根据每一次的对比结果来动态确定的,即是说每一次的压缩参数并不是提前设置的(也即非固定的),而是更加匹配当前的图片压缩情况,能够防止图片过度压缩;并且基于多次对比、多次调整和多次压缩的机制,反复迭代能够减少用户操作的次数,提升用户体验。即本发明实施例在图片压缩的过程中允许多次对比、多次压缩参数的调整(且参数是依据当前的对比结果进行的动态调整)、多次压缩直至达到预设条件后,输出符合预设的参数信息要求的图片,最终能够防止过度压缩,提高图片识别的成功率,提升用户体验。

在一种可能的实现方式中,所述压缩参数包括压缩系数和质量系数;所述根据所述压缩参数对所述待压缩图片进行压缩,包括:根据所述压缩系数和所述质量系数分别对所述待压缩图片的像素宽高和像素质量进行压缩;所述根据调整后的所述压缩参数对所述压缩后的图片进行压缩,包括:根据调整后的所述压缩系数和所述质量系数分别对所述压缩后的图片的像素宽高和像素质量进行压缩。

本发明实施例,通过压缩系数和质量系数对图片的像素宽高和像素质量两个维度进行压缩,能够使图片的压缩过程更具有针对性,更有效防止过度压缩,从而输出符合预设的参数信息要求的图片,提高图片识别的成功率,提升用户体验。

在一种可能的实现方式中,所述方法,还包括:若所述第一对比结果满足第一预设条件,则输出所述待压缩图片。

本发明实施例中,在获取待压缩图片的参数信息和预设的参数信息之后,再对它们的信息进行对比,得到第一对比结果。如果第一对比结果满足第一预设条件,则认为待压缩图片不需要进行压缩,然后输出该待压缩图片。能够避免盲目压缩,保障用户体验。

在一种可能的实现方式中,所述方法,还包括:若所述第二对比结果满足第二预设条件,则输出所述待压缩图片对应的目标图片。

本发明实施例中,在根据压缩参数对待压缩图片进行压缩后,然后再通过对比压缩后的图片和预设的参数信息得到另一组对比结果,即第二对比结果。如果第二对比结果满足第二预设条件,则认为压缩后的图片不需要再进行压缩,然后再根据第二预设条件的具体情况输出相对应的图片。能够避免盲目压缩,保障用户体验。

在一种可能的实现方式中,所述获取待压缩图片的第一参数信息和预设的第二参数信息,包括:获取所述待压缩图片的第一像素宽高信息、所述待压缩图片的第一像素质量信息、所述待压缩图片占用的第一内存字节数中的一种或多种和预设的内存字节数的最大值、最小值中的一种或多种;所述获取所述压缩后的图片的第三参数信息,包括:获取所述压缩后的图片的第二像素宽高信息、所述压缩后的图片的第二像素质量信息、所述压缩后的图片占用的第三内存字节数中的一种或多种。

本发明实施例通过获取待压缩图片的像素宽高信息、像素质量信息和占用的内存字节数中的一种或多种,以及预设的第二参数信息中的内存字节数的最大值和最小值,还有压缩后的图片的像素宽高信息、像素质量信息和占用的内存字节数中的一种或多种,能够为后续进行内存字节数对比以及进行像素宽高和像素质量两维度的图片压缩提供基础,从而为提高图片识别的成功率,提升用户体验提供保障。

在一种可能的实现方式中,所述第一参数信息包括所述第一内存字节数;所述第二参数信息包括所述预设的内存字节数的最大值;所述将所述第一参数信息和所述预设的第二参数信息进行对比,得到第一对比结果,包括:计算所述第一内存字节数和所述预设的第二内存字节数最大值之间的第一差值,得到所述第一对比结果,所述第一对比结果包括所述第一差值。

本发明实施例可以利用待压缩图片占用的内存字节数减去预设的内存字节数的最大值,得到第一差值。完成第一次对比,为后续的判断和压缩提供依据。

在一种可能的实现方式中,所述若所述第一对比结果满足第一预设条件,则输出所述待压缩图片,包括:若所述第一差值小于或等于第一预设值,则输出所述待压缩图片;若所述第一对比结果不满足第一预设条件,则根据所述第一对比结果确定压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片,包括:若所述第一差值大于所述第一预设值,则根据所述第一差值通过预设的索引关系表确定所述压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片。

本发明实施例中,在计算出第一差值后,判断第一差值是否满足第一预设条件的要求,其中,第一预设条件要求第一差值不大于第一预设值,例如,第一预设值可以设置为0,即待压缩图片占用的内存字节数小于等于预设的第二内存字节数的最大值要求。如果第一差值小于或等于第一预设值,则认为待压缩图片不需要进行压缩,从而输出待压缩图片;如果第一差值大于第一预设值,则需要进一步明确第一差值的具体数值,然后从预设的索引关系表中明确出第一差值所属的范围,从而确定与第一差值所属的范围对应的压缩参数,并按照此压缩参数对待压缩图片进行压缩。由此,根据待压缩图片占用的内存字节数和预设的第二内存字节数的具体差值,明确出与具体差值对应的压缩参数,并根据该压缩参数完成对待压缩图片的第一次压缩。因为,压缩参数的确定与待压缩图片占用的内存字节数和预设的第二内存字节数的具体差值相关联,而不是提前设定(即压缩参数非固定),因而能够有效防止过度压缩,并且也可以为后续的再对比判断提供数据基础。

在一种可能的实现方式中,所述第三参数信息包括所述第三内存字节数;所述第二参数信息还包括所述预设的第二内存字节数的最小值;所述将所述压缩后的图片的第三参数信息和所述预设的第二参数信息进行对比,得到第二对比结果,包括:计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最大值之间的差值,得到第二差值;计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最小值之间的差值,得到第三差值;得到所述第二对比结果,所述第二对比结果包括所述第二差值和所述第三差值。

本发明实施例中,在完成对待压缩图片的第一次压缩后,利用压缩后的图片占用的内存字节数减去预设的第二内存字节数最大值,得到第二差值;同时,可以利用压缩后的图片占用的内存字节数减去预设的第二内存字节数最小值,得到第三差值。由此,完成了压缩后的图片的参数信息与预设的第二参数信息之间的对比,即第二次对比,为后续再次判断和再次压缩提供依据。

在一种可能的实现方式中,所述待压缩图片对应的目标图片包括所述压缩后的图片、本次压缩前的图片或最后一次压缩后的图片;所述若所述第二对比结果满足第二预设条件,则输出所述待压缩图片对应的目标图片,包括:若所述第二差值小于或等于第二预设值,且所述第三差值大于或等于第三预设值,则输出所述压缩后的图片;若所述第二差值小于所述第二预设值,且所述第三差值小于所述第三预设值,则输出所述本次压缩前的图片;所述若所述第二对比结果不满足第二预设条件,则根据所述第二对比结果调整所述压缩参数,并根据调整后的所述压缩参数对所述压缩后的图片进行压缩,包括:若第二差值大于所述第二预设值,则根据所述第二差值通过所述预设的索引关系表调整所述压缩参数;根据调整后的所述压缩参数对所述压缩后的图片进行压缩,得到再次压缩后的图片;所述重复对比、调整、压缩过程直至达到所述第二预设条件,输出所述待压缩图片对应的目标图片,包括:若压缩次数到达预设压缩次数时,所述第二差值仍大于所述第二预设值,则输出最后一次压缩后的图片。

本发明实施例中,在进行压缩后的图片的参数信息与预设的参数信息之间的对比后,判断它们的对比结果是否满足第二预设条件的要求,其中第二预设条件的要求是第二差值不大于第二预设值,例如第二预设值可以设置为0。首先,判断第二差值是否大于0,如果第二差值大于0,则需要进一步明确第二差值的具体数值,然后再次从预设的索引表关系中明确出第二差值所属的范围,从而确定与第二差值所属的范围对应的压缩参数,并按照此压缩参数对压缩后的图片进行二次压缩,重复对比、调整、压缩过程直至到达第二预设条件时结束压缩,或者当压缩次数到达预设压缩次数上限时,所述第二差值仍然大于0,结束压缩并输出最后一次压缩后的图片;如果第二差值小于或等于0,则需要进一步判断第三差值是否大于或等于第三预设值,例如第三预设值可以设置为0,如果第三差值也小于0,则输出本次压缩前的图片,其中第三差值小于0说明压缩后的图片占用的内存字节数小于预设的内存字节数的最小值,可以认为图片在压缩前与预设的内存字节数的最大值相差不大,也有可能被识别成功,因此输出本次压缩前的图片;如果第三差值大于或等于0,则输出本次压缩后的图片,即参与本次对比的图片。通过多次对比和判断,再根据判断结果动态调整压缩参数,能够避免压缩的盲目性,输出符合预设参数信息要求的图片,提高图片识别的成功率,提升用户体验。

第二方面,本发明实施例提供了一种图片压缩装置,可包括:

获取单元,用于获取待压缩图片的第一参数信息和预设的第二参数信息;

第一处理单元,用于将所述第一参数信息和所述预设的第二参数信息进行对比,得到第一对比结果;若所述第一对比结果不满足第一预设条件,则根据所述第一对比结果确定压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片;

第二处理单元,用于获取所述压缩后的图片的第三参数信息,并将所述第三参数信息和所述预设的第二参数信息进行对比,得到第二对比结果;若所述第二对比结果不满足第二预设条件,则根据所述第二对比结果调整所述压缩参数,并根据调整后的所述压缩参数对所述压缩后的图片进行压缩,重复对比、调整、压缩过程直至达到所述第二预设条件,输出所述待压缩图片对应的目标图片。

本发明实施例,首先通过获取单元,获取待压缩图片的参数信息和预设的参数信息,然后通过第一处理单元对该两组参数信息进行对比,若第一次对比的结果不满足条件,则根据第一次对比的结果确定压缩参数后对所述待压缩图片进行第一轮压缩,得到压缩后的图片。然后再通过第二处理单元对所述压缩后的图片的参数信息和预设的参数信息进行对比,若经过该第一轮压缩后的图片仍不满足条件,则根据新的对比结果重新调整所述压缩参数;最后所述第二处理单元再按照调整后的所述压缩参数对所述压缩后的图片进行压缩,重复对比、调整、压缩过程直至达到最终输出的图片符合要求。其中,由于在每一次压缩的过程中,压缩参数是根据每一次的对比结果来动态确定的,即是说每一次的压缩参数并不是提前设置的(也即非固定的),而是更加匹配当前的图片压缩情况,能够防止图片过度压缩;并且基于多次对比、多次调整和多次压缩的机制,反复迭代能够减少用户操作的次数,提升用户体验。即本发明实施例在图片压缩的过程中允许多次对比、多次压缩参数的调整(且参数是依据当前的对比结果进行的动态调整)、多次压缩直至达到预设条件后,输出符合预设的参数信息要求的图片,最终能够防止过度压缩,提高图片识别的成功率,提升用户体验。

在一种可能的实现方式中,所述压缩参数包括压缩系数和质量系数;其中所述压缩系数用于针对图片的像素宽高进行压缩,所述质量系数用于针对图片的像素质量进行压缩。

在一种可能的实现方式中,所述第一处理单元,具体还用于:

若所述第一对比结果满足第一预设条件,则输出所述待压缩图片。

在一种可能的实现方式中,所述第二处理单元,具体还用于:

若所述第二对比结果满足第二预设条件,则输出所述待压缩图片对应的目标图片。

在一种可能的实现方式中,所述第一参数信息包括所述待压缩图片的第一像素宽高信息、所述待压缩图片的第一像素质量信息和所述待压缩图片占用的第一内存字节数中的一种或多种;所述预设的第二参数信息包括预设的内存字节数的最大值、最小值中的一种或多种;所述第三参数信息包括所述压缩后的图片的第二像素宽高信息、所述压缩后的图片的第二像素质量信息和所述压缩后的图片占用的第三内存字节数中的一种或多种。

在一种可能的实现方式中,所述第一参数信息包括所述第一内存字节数;所述第二参数信息包括所述预设的内存字节数的最大值;

所述第一处理单元,具体用于:

计算所述第一内存字节数和所述预设的第二内存字节数最大值之间的第一差值,得到所述第一对比结果,所述第一对比结果包括所述第一差值。

在一种可能的实现方式中,所述第一处理单元,具体用于:

若所述第一差值小于或等于第一预设值,则输出所述待压缩图片;若所述第一差值大于所述第一预设值,则根据所述第一差值通过预设的索引关系表确定所述压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片。

在一种可能的实现方式中,所述第三参数信息包括所述第三内存字节数;所述第二参数信息还包括所述预设的第二内存字节数的最小值;

所述第二处理单元,具体用于:

计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最大值之间的差值,得到第二差值;计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最小值之间的差值,得到第三差值;得到所述第二对比结果,所述第二对比结果包括所述第二差值和所述第三差值。

在一种可能的实现方式中,所述待压缩图片对应的目标图片包括所述压缩后的图片、本次压缩前的图片或最后一次压缩后的图片;

所述第二处理单元,具体用于:

若所述第二差值小于或等于第二预设值,且所述第三差值大于或等于第三预设值,则输出所述压缩后的图片;若所述第二差值小于所述第二预设值,且所述第三差值小于所述第三预设值,则输出本次压缩前的图片;若第二差值大于所述第二预设值,则根据所述第二差值通过所述预设的索引关系表调整所述压缩参数;若压缩次数到达预设压缩次数时,所述第二差值仍大于所述第二预设值,则输出最后一次压缩后的图片。

第三方面,本发明实施例提供了一种电子设备,该电子设备中包括处理器,处理器被配置为支持该电子设备实现第一方面提供的图片压缩方法中相应的功能。该电子设备还可以包括存储器,存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。该电子设备还可以包括通信接口,用于该电子设备与其他设备或通信网络通信。

第四方面,本发明实施例提供了一种计算机可读存储介质,用于储存为上述第二方面提供的一种图片压缩装置中的处理器中所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

第五方面,本发明实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持设备实现上述第一方面中所涉及的功能,例如,生成或处理上述图片压缩方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是一种图片压缩方法的流程示意图。

图2a是本发明实施例提供的一种图片压缩方法的流程示意图。

图2b是本发明实施例提供的另一种图片压缩方法的流程示意图。

图3是本发明实施例提供的一种图片压缩方法的判断流程示意图。

图4是本发明实施例提供的一种图片压缩装置的结构示意图。

图5是本发明实施例提供的另一种图片压缩装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例进行描述。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。

首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)压缩系数压缩,通过降低图片像素宽高的数量来减少图片占用的内存字节数,各个像素的质量不会降低。

(2)质量系数压缩,通过降低图片各个像素的质量来减少图片占用的内存字节数,像素宽高的数量不会减少。

首先,分析并提出本申请所具体要解决的技术问题。在现有技术中,关于图片压缩的技术,包括如下方案一:

方案一:基于给定的压缩参数,进行一次压缩的方案,请参见图1,图1是一种图片压缩方法的流程示意图,具体可以包括如下步骤S100~S102:

步骤S100:获取待压缩图片的参数信息。

步骤S101:用户给定压缩参数。

步骤S102:按照给定的压缩参数对待压缩图片进行压缩。

该方案一存在以下多个缺点:

缺点1:压缩参数由用户随机给定,容易出现过度压缩的情况。

缺点2:仅进行一次压缩,具体压缩结果由用户自行判断是否符合要求,若不符合要求,则用户需要随机再重新给定一个新的压缩参数,然后再次压缩和判断。由于压缩参数和图片压缩前后占用的内存字节数变化不存在线性比例的关系。重新压缩后的图片仍有可能不符合要求,应用于图片识别场景时,图片被成功识别的概率低。导致用户需要进行多次压缩操作,用户体验差。

为了解决当前图片压缩技术无法满足用户实际使用需求的问题,避免过度压缩,减少用户操作,输出符合要求的图片,提高图片识别的成功率,提升用户体验的目的,综合考虑现有技术存在的缺点,本申请实际要解决的技术问题包括如下几方面:

1、更合理的压缩参数确定机制(方案一的缺点1)。方案一中,压缩参数由用户随机给定,部分解决了图片压缩的恢复问题。然而,容易出现过度压缩的情况,这严重降低了用户体验。因此,需要提出一种更合理的压缩参数确定机制,可以避免图片被过度压缩,并输出符合要求的图片,提升用户体验。

2、新增判断机制和基于判断的多次调整压缩机制(方案一的缺点2)。方案一中,仅进行一次压缩,具体压缩结果由用户自行判断是否符合要求,若不符合要求,则用户需要重新给定一个新的压缩参数,然后再次压缩和判断。因此,需要一种判断机制以及基于判断机制的多次压缩机制,减少用户压缩操作次数,提升用户体验。

综上所述,现有的图片压缩方案无法满足用户对于使用体验的更高要求。因此,本申请提供的图片压缩方法用于解决上述技术问题。

为了便于理解本发明实施例,以下示例性对本申请中的图片压缩方法所应用的场景进行举例。例如,本申请中的图片压缩方法可以应用于线上平台的图片识别场景。

线上平台的图片识别场景:

线上平台对要识别的图片(即用户上传的图片)有内存字节数的要求。例如,当用户需要通过线上平台完成某考试的报名流程时,该线上平台需要用户上传本人近照进行身份认证。此时,该线上平台要求用户上传的图片占用的内存字节数小于3M,且大于1M,然而用户只有一张内存字节数为26M的本人近照作为待压缩图片。若用户直接把待压缩图片上传到线上平台进行识别认证,会因为不满足线上平台的要求而得到识别失败的结果。因此,用户需要将待压缩图片压缩到符合线上平台的内存字节数要求,才能成功完成图片识别,从而完成某考试的报名流程。

基于上述提出的技术问题以及本申请中对应的应用场景,也为了便于理解本发明实施例,下面结合图2a和图2b以及图3进行描述。请参见图2a和和图2b以及图3,图2a是本发明实施例提供的一种图片压缩方法的流程示意图,图2b是本发明实施例提供的另一种图片压缩方法的流程示意图,图3是本发明实施例提供的一种图片压缩方法的判断流程示意图。参见图2a,本申请中的图片压缩方法可包括以下步骤S200~S204:

步骤S200:获取待压缩图片的第一参数信息和预设的第二参数信息。

具体地,待压缩图片的第一参数信息可以是所述待压缩图片的第一像素宽高信息、所述待压缩图片的第一像素质量信息和所述待压缩图片占用的第一内存字节数中的一种或多种;预设的第二参数信息可以是内存字节数的最大值、最小值中的一种或多种。如上述线上平台图片识别的例子,其中,待压缩图片占用的内存字节数为26M,像素宽高信息可以是788像素*1000像素,像素质量信息可以是位深度,如位深度为32,如图2b中的图片201就可以是待压缩图片;而预设的第二参数信息(即线上平台对用户所上传的图片的要求)对于内存字节数的要求是小于3M,且大于1M。可选地,像素质量信息也可以是像素密度,此处不再一一举例。

步骤S201:对比待压缩图片的第一参数信息和预设的第二参数信息,得到第一对比结果。

具体地,可以通过计算待压缩图片占用的内存字节数和预设内存字节数最大值的差值,得到第一差值。如上述例子,第一差值为23M。

步骤S202:判断第一对比结果,根据判断结果确定输出图片或明确压缩参数并压缩图片。

具体地,对第一差值进行判断,详细判断逻辑可以参见图3。若第一差值小于或等于第一预设值,则输出所述待压缩图片;若第一差值大于第一预设值,则进一步根据第一差值通过预设的索引关系表确定压缩参数;根据压缩参数对待压缩图片进行压缩,得到压缩后的图片,如图2b中的图片202。其中,压缩参数可以包括压缩系数和质量系数,压缩系数用于针对图片的像素宽高进行压缩,质量系数用于针对图片的像素质量进行压缩。其中,第一预设值可以为0,可理解地,第一预设值也可以设置为其它数值,在此不做具体限定。

可选地,设置索引关系表时可以参考以下原则:当内存字节数的差值比较大时,需要设置较小的压缩系数和质量系数,使得压缩后的图片占用的内存字节数对比压缩前的图片能够大幅度变小,因此能够快速得到符合要求的图片;当内存字节数的差值比较小时,需要设置较大的压缩系数和质量系数,使得压缩后的图片占用的内存字节数对比压缩前的图片能够小幅度变小,可以有效防止图片被过度压缩。为方便理解,本发明实施例示例性地提供一个索引关系表作为参考,见下表。

索引关系表

压缩等级 差值(X) 压缩系数 质量系数
特大 X大30M 0.4 0.4
30>X≥20M 0.5 0.5
一般 20>X010M 0.6 0.5
10>X05M 0.7 0.7
轻微 5>X微1M 0.8 0.7
保守 1>X 0.8 1(不压缩)

表中根据不同差值范围,定义了不同的压缩等级,由高到低分别是特大、大、一般、小、轻微、保守六个压缩等级。其中,差值越大,压缩等级越高,对应的压缩系数和质量系数也会更小。如上述例子,当第一差值为23M时,其对应的压缩等级为大压缩,通过预设的索引关系表中的对应关系确定了压缩系数为0.5,质量系数为0.5。然后,按照0.5的压缩系数和0.5的质量系数对内存字节数为26M的待压缩图片进行压缩。其中,≥表示大于或等于;>表示大于;预设的索引关系表可以是通过多次试验确定的。

需要说明的是,预设的第二参数信息中的内存字节数可以是一个范围值,如果待压缩图片占用的内存字节数符合预设的第二参数信息的范围值要求,则不会被压缩。

步骤S203:对比压缩后的图片的第三参数信息和预设的第二参数信息,得到第二对比结果。

具体地,计算压缩后的图片占用的内存字节数和所述预设的第二内存字节数最大值的差值,得到第二差值;计算压缩后的图片占用的内存字节数和所述预设的第二内存字节数最小值的差值,得到第三差值。如上述例子,假定压缩后的图片(图2b中的图片202)占用的内存字节数为10M,像素宽高为394像素*500像素,位深度为24,预设的第二参数信息的内存字节数要求是小于3M,且大于1M,则压缩后的图片和预设的第二参数信息中的内存字节数的最大值的差值为7M,与预设的第二参数信息中的内存字节数的最小值的差值为9M,即第二差值为7M,第三差值为9M。

步骤S204:判断第二对比结果,根据判断结果确定输出图片或调整压缩参数并压缩图片,重复对比、调整、压缩过程直至达到第二预设条件。

具体地,对第二差值和第三差值进行判断,详细判断逻辑可以参见图3。若第二差值小于或等于第二预设值,且第三差值大于或等于第三预设值,则输出压缩后的图片;若第二差值小于第二预设值,且第三差值小于第三预设值,则输出本次压缩前的图片;若第二差值大于第二预设值,则根据第二差值通过预设索引关系表调整压缩参数;根据调整后的压缩参数对压缩后的图片进行二次压缩,得到二次压缩后的图片,如图图2b中的图片203,重复对比、调整、压缩步骤直至到达第二预设条件,输出与所述待压缩图片对应的目标图片。其中,第二预设值可以为0,第三预设值也可以为0。如上述例子,当第二差值为7M,第三差值为9M时,第二差值大于第二预设值0,则认为压缩后的图片仍然没有达到预设的第二参数信息中对于,内存字节数的要求,需要对压缩后的图片进行二次压缩。根据第二差值通过上述索引关系表调整压缩系数和质量系数。此时,与第二差值为7M对应的压缩等级应为小压缩,通过预设的映射关系表中的映射关系确定了压缩系数为0.7,质量系数为0.7,可以参见上述索引关系。可理解地,第二预设值和第三预设值也可以设置为其它数值,在此不做具体限定。

按照0.7的压缩系数和0.7的质量系数对压缩后的图片再进行一次小压缩,得到二次压缩后的图片(图2b中的图片203)。例如,二次压缩后的图片(图2b中的图片203)占用的内存字节数为2.5M,像素宽高为276像素*350像素,位深度为16。对比二次压缩后的图片占用的内存字节数与目标图片的要求,2.5M小于3M,且2.5M大于1M,认为二次压缩后的图片满足目标图片要求,输出二次压缩后的图片。需要说明的是,如果二次压缩后的图片仍然不满足预设的第二参数信息的要求,则继续进行对比并根据对比结果按照上述索引关系表再次调整压缩系数和质量系数,再利用新的压缩系数和质量系数对二次压缩后的图片进行再压缩直到最终压缩出的图片与预设的第二参数信息对比得到的第二差值小于或等于0,或者压缩次数到达设定的压缩次数上限为止,详细判断逻辑可以参见图3。例如,可以设定一个压缩次数上限值为4,当完成第4次压缩后得到的图片与预设的第二参数信息中的第二差值仍然大于0时,则输出第4次压缩后得到的图片(图2b中的图片205),从而避免再进行更多次数的压缩造成的等待时间过长的问题。

可选地,当若第二差值小于第二预设值,且第三差值小于第三预设值时,说明压缩后的图片占用的内存字节数比预设的第二参数信息中的内存字节数的最小值还小,此时也可以根据第三差值的具体数值上调压缩系数和质量系数,上调的方式可以是参考上述索引关系表完成。按照上调后的压缩系数和质量系数对压缩前的图片进行压缩,然后再与预设的第二参数信息中的内存字节数进行对比,可参考上述对比、调整、压缩的过程,此处不再详述。

综上,本申请克服了现有图片压缩技术中存在的过度压缩、重复操作的缺点,能够有效避免图片被过度压缩,达到输出符合要求的图片,提高图片识别的成功率,提升用户体验的目的。

上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关装置。

请参见图4,图4是本发明实施例提供的一种图片压缩装置的结构示意图,该图片压缩装置4可以包括获取单元401、第一处理单元402和第二处理单元403,其中,各个单元的详细描述如下。

获取单元401,用于获取待压缩图片的第一参数信息和预设的第二参数信息;

第一处理单元402,用于将所述第一参数信息和所述预设的第二参数信息进行对比,得到第一对比结果;若所述第一对比结果不满足第一预设条件,则根据所述第一对比结果确定压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片;

第二处理单元403,用于获取所述压缩后的图片的第三参数信息,并将所述第三参数信息和所述预设的第二参数信息进行对比,得到第二对比结果;若所述第二对比结果不满足第二预设条件,则根据所述第二对比结果调整所述压缩参数,并根据调整后的所述压缩参数对所述压缩后的图片进行压缩,重复对比、调整、压缩过程直至达到所述第二预设条件,输出所述待压缩图片对应的目标图片。

在一种可能的实现方式中,所述压缩参数包括压缩系数和质量系数;

所述第一处理单元402,具体用于:

根据所述压缩系数和所述质量系数分别对所述待压缩图片的像素宽高和像素质量进行压缩;

所述第二处理单元403,具体用于:

根据调整后的所述压缩系数和所述质量系数分别对所述压缩后的图片的像素宽高和像素质量进行压缩。

在一种可能的实现方式中,所述第一处理单元402,具体还用于:

若所述第一对比结果满足第一预设条件,则输出所述待压缩图片。

在一种可能的实现方式中,所述第二处理单元403,具体还用于:

若所述第二对比结果满足第二预设条件,则输出所述待压缩图片对应的目标图片。

在一种可能的实现方式中,所述获取单元401,具体用于:

获取所述待压缩图片的第一像素宽高信息、所述待压缩图片的第一像素质量信息、所述待压缩图片占用的第一内存字节数中的一种或多种和预设的内存字节数的最大值、最小值中的一种或多种;

所述第二处理单元403,具体用于:

获取所述压缩后的图片的第二像素宽高信息、所述压缩后的图片的第二像素质量信息、所述压缩后的图片占用的第三内存字节数中的一种或多种。

在一种可能的实现方式中,所述第一参数信息包括所述第一内存字节数;所述第二参数信息包括所述预设的内存字节数的最大值;

所述第一处理单元402,具体用于:

计算所述第一内存字节数和所述预设的第二内存字节数最大值之间的第一差值,得到所述第一对比结果,所述第一对比结果包括所述第一差值。

在一种可能的实现方式中,所述第一处理单元402,具体用于:

若所述第一差值小于或等于第一预设值,则输出所述待压缩图片;若所述第一差值大于所述第一预设值,则根据所述第一差值通过预设的索引关系表确定所述压缩参数,并根据所述压缩参数对所述待压缩图片进行压缩,得到压缩后的图片。

在一种可能的实现方式中,所述第三参数信息包括所述第三内存字节数;所述第二参数信息还包括所述预设的第二内存字节数的最小值;

所述第二处理单元403,具体用于:

计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最大值之间的差值,得到第二差值;计算所述压缩后的图片占用的所述第三内存字节数和所述预设的第二内存字节数最小值之间的差值,得到第三差值;得到所述第二对比结果,所述第二对比结果包括所述第二差值和所述第三差值。

在一种可能的实现方式中,所述待压缩图片对应的目标图片包括所述压缩后的图片、本次压缩前的图片或最后一次压缩后的图片;所述第二处理单元403,具体用于:

若所述第二差值小于或等于第二预设值,且所述第三差值大于或等于第三预设值,则输出所述压缩后的图片;若所述第二差值小于所述第二预设值,且所述第三差值小于所述第三预设值,则输出本次压缩前的图片;若第二差值大于所述第二预设值,则根据所述第二差值通过所述预设的索引关系表调整所述压缩参数;若压缩次数到达预设压缩次数时,所述第二差值仍大于所述第二预设值,则输出最后一次压缩后的图片。

需要说明的是,本发明实施例中所描述的图片压缩装置4中各功能单元的功能可参见上述图2a中所述的方法实施例中步骤S200-步骤S204的相关描述,此处不再赘述。

如图5所示,图5是本发明实施例提供的另一种图片压缩装置的结构示意图,该装置5包括至少一个处理器501,至少一个存储器502、至少一个通信接口503。此外,该设备还可以包括天线等通用部件,在此不再详述。

处理器501可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。

通信接口503,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),核心网,无线局域网(Wireless Local Area Networks,WLAN)等。

存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。

其中,所述存储器502用于存储执行以上所述的图片压缩方法的应用程序代码,并由处理器501来控制执行。所述处理器501用于执行所述存储器502中存储的应用程序代码。

存储器502存储的代码可执行以上图2a提供的图片方法,比如获取待压缩图片的第一参数信息和预设的第二参数信息;对比待压缩图片的第一参数信息和预设的第二参数信息,得到第一对比结果;判断第一对比结果,根据判断结果确定输出图片或明确压缩参数并压缩图片;对比压缩后的图片的第三参数信息和预设的第二参数信息,得到第二对比结果;判断第二对比结果,根据判断结果确定输出图片或调整压缩参数并压缩图片,重复对比、调整、压缩过程直至达到第二预设条件。

需要说明的是,本发明实施例中所描述的图片压缩装置5中各功能单元的功能可参见上述图2a中所述的方法实施例中的步骤S200-步骤S204相关描述,此处不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务端或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-OnlyMemory,缩写:ROM)或者随机存取存储器(RandomAccessMemory,缩写:RAM)等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理方法、装置、电子设备和计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!