CN113724345B - 图片压缩方法、装置以及存储介质 - Google Patents
图片压缩方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN113724345B CN113724345B CN202110891598.8A CN202110891598A CN113724345B CN 113724345 B CN113724345 B CN 113724345B CN 202110891598 A CN202110891598 A CN 202110891598A CN 113724345 B CN113724345 B CN 113724345B
- Authority
- CN
- China
- Prior art keywords
- picture
- compression
- size
- quality
- preset
- 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.)
- Active
Links
- 238000007906 compression Methods 0.000 title claims abstract description 415
- 230000006835 compression Effects 0.000 title claims abstract description 412
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000009467 reduction Effects 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 19
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本申请公开了一种图片压缩方法、装置以及存储介质。其中,一种图片压缩方法,包括:在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值。
Description
技术领域
本申请涉及图片处理技术领域,特别是涉及一种图片压缩方法、装置以及存储介质。
背景技术
目前,在多种类型的应用程序中需要上传图片,但是图片质量有所不同,可能并不符合要求,因此需要对图片进行压缩,但是在压缩过程中可能会造成图片质量下降严重。
例如,证券开户时需要用户上传身份证图片,***会识别身份证信息。由于用户上传身份证图片后,***在识别身份证信息时对身份证图片大小有严格要求,利用手机拍摄的身份证图片则远远超出要求,因此需要对拍摄的身份证图片进行压缩处理。部分证券公司所需要的身份证图片,要求图片大小在200K以内,并且图片质量高,对于现有技术而言存在极大的挑战。
针对上述的现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请的实施例提供了一种图片压缩方法、装置以及存储介质,以至少解决现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
根据本申请实施例的一个方面,提供了一种图片压缩方法,包括:在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值,并且其中第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
根据本申请实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本申请实施例的另一个方面,还提供了一种图片压缩装置,包括:第一压缩模块,用于在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;第二压缩模块,用于在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及第三压缩模块,用于在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值,并且其中第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
根据本申请实施例的另一个方面,还提供了一种图片压缩装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值,并且其中第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
在本申请实施例中,图片压缩方法涉及有单轮质量压缩、尺寸压缩和迭代循环质量压缩这三种图片压缩方式,并且需要根据待压缩的原始图片的存储大小,选择性地对上述三种图片压缩方式进行组合使用,从而将原始图片的存储大小压缩至规定大小。在获取到的待压缩的原始图片的存储大小与规定大小之间的差距较大(即图片的存储大小大于预设的第一阈值)的情况下,本申请采用单轮质量压缩的方式对原始图片进行质量压缩,从而大幅度地减少原始图片的存储大小与规定大小之间的差距。在单轮质量压缩后的图片的存储大小与规定大小之间的差距仍比较大(即图片的存储大小大于预设的第二阈值)的情况下,需要采用尺寸压缩的方式对该图片进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。
进一步地,在获取到的原始图片的存储大小与规定大小之间的差距不是很大(即图片的存储大小大于预设的第二阈值且小于或等于预设的第一阈值)的情况下,本申请不需要对原始图片进行单轮质量压缩,而是直接对其进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。对于存储大小与规定大小之间的差距处于合理的范围内的图片,本申请采用迭代循环质量压缩的方式,不断地对图片进行质量压缩,直至图片的存储大小不大于规定大小。并且,本申请在对图片进行每一轮次的质量压缩的过程中,需要将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。此外,在获取到的原始图片的存储大小或者进行单轮质量压缩后的图片的存储大小不大于预设的第二阈值的情况下,本申请不需要对图片进行尺寸压缩,而是直接对其进行迭代循环质量压缩。
从而,通过上述方式,本申请能够针对不同大小的原始图片,选择性地对上述三种图片压缩方式进行组合使用,从而在将原始图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。达到了既将图片压缩至规定的存储大小,又保证了压缩得到的图片的质量要求的技术效果。进而解决了现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是用于实现根据本申请实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本申请实施例1的第一个方面所述的图片压缩方法的流程示意图;
图3是根据本申请实施例1的第一个方面所述的图片压缩方法的整体流程示意图;
图4是根据本申请实施例2所述的图片压缩装置的示意图;以及
图5是根据本申请实施例3所述的图片压缩装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种图片压缩的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现图片压缩方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本申请实施例中的图片压缩方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的图片压缩方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种图片压缩方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;
S204:在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及
S206:在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值。
并且其中,第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
具体地,计算设备获取用户上传的原始图片,并检测该原始图片的存储大小。在所获取的原始图片的存储大小大于预设的第一阈值的情况下,计算设备根据预设的质量参数对原始图片进行质量压缩,得到第一图片。其中预设的第一阈值例如为1MB~3MB。优选地,第一阈值为1MB。其中,当计算设备判断原始图片的存储大小大于第一阈值的情况下,可以先将压缩格式设置为CompressFormat.JPEG。设定原始图片的初始质量参数为100,预设的质量参数为80,则计算设备会根据质量参数80,利用质量压缩的方式将对原始图片进行质量压缩,从而保留图片原质量的80%,得到第一图片。例如但不限于,原始图片的存储大小为11909KB,预设的第一阈值为1MB,计算设备判断该原始图片的存储大小大于1MB,之后将该原始图片的质量压缩至80%,则得到存储大小为3823KB的图片(即第一图片)。需要理解的是,以初始质量参数100为基准,对图片进行压缩直到质量参数为80,得到的图片并不意味着将存储大小减少20%,而是以质量参数100为基准将图片的质量参数压缩至80,该操作并不能通过人工计算而准确地得到存储大小。不同存储大小的图片在进行质量压缩的过程中图片压缩的力度也并不相同,图片的存储大小越大则质量压缩的力度就越大。
进一步地,计算设备得到第一图片后,获取第一图片的存储大小,在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片。其中预设的第二阈值例如为400KB~600KB。优选地,第二阈值可以为400KB。例如但不限于,第一图片的存储大小为3823KB,预设的第二阈值为400KB,由于第一图片的存储大小大于预设的第二阈值,计算设备将第一图片作为尺寸压缩对象,获取第一图片(即尺寸压缩对象)的像素值。预设的第一图片尺寸大小例如为400像素~600像素。优选地,预设的图片尺寸大小为400像素。计算设备会按照图片的长边和宽边的像素值对第一图片(即尺寸压缩对象)进行尺寸压缩,将压缩后的图片作为第二图片。如果第一图片的长边和宽边有一条边超过400像素,则把第一图片最长边设置为400像素,另一边随着最长边按比例缩小。如果第一图片的边都没有超过400像素,则不对第一图片进行尺寸压缩。例如存储大小为3823KB的第一图片的长边超过400像素,则尺寸压缩后的图片的存储大小为608KB,即第二图片的存储大小为608KB。
进一步地,计算设备获取第二图片的存储大小,在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象。其中预设的第三阈值大于目标大小,例如在目标大小为200KB的情况下,第三阈值为200KB~300KB。优选地,第三阈值为200KB。例如但不限于,第二图片的存储大小为608KB,预设的第三阈值为200KB,计算设备判断第二图片的存储大小大于预设的第三阈值,则将第二图片作为质量循环压缩对象。之后计算设备对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值。例如但不限于,目标图片的存储大小为200KB,预设的第一质量参数阈值例如为1~3。优选地,第一质量参数为1。以质量循环压缩对象的初始质量参数100为基准,当计算设备将第二图片(即质量循环压缩对象)进行迭代循环质量压缩后至第一质量参数后,无论图片的存储大小是否不大于预设的目标大小,都停止压缩。
其中,计算设备在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。例如,第二图片的存储大小为608KB,其初始质量参数设置为100,计算设备开始第一轮次的质量循环,将第二图片作为当前轮次的质量循环压缩对象。由于第二图片的当前存储大小为608KB,当前剩余质量参数为100,图片的当前存储大小和当前剩余质量参数均较大,计算设备可以确定一个较大的质量参数递减量(例如为15)作为当前轮次的质量参数递减量。即,计算设备以当前剩余质量参数100为基准,对第二图片进行质量压缩直到其质量参数为85(即当前剩余质量参数100-质量参数递减量15)。之后开始第二轮次的质量压缩,将第一轮次压缩得到的图片作为第二轮次的质量循环压缩对象。计算设备得到第二轮次的质量循环压缩对象的当前存储大小和当前剩余质量参数(即,85),重新确定当前轮次的质量参数递减量(例如为2)。之后计算设备以当前剩余质量参数85为基准,对质量循环压缩对象进行压缩直到质量参数为83,得到存储大小为191KB的目标图片,之后停止压缩。
正如背景技术中所述的,目前,在多种类型的应用程序中需要上传图片,但是图片质量有所不同,可能并不符合要求,因此需要对图片进行压缩,但是在压缩过程中可能会造成图片质量下降严重。例如,证券开户时需要用户上传身份证图片,***会识别身份证信息。由于用户上传身份证图片后,***在识别身份证信息时对身份证图片大小有严格要求,利用手机拍摄的身份证图片则远远超出要求,因此需要对拍摄的身份证图片进行压缩处理。部分证券公司所需要的身份证图片,要求图片大小在200K以内,并且图片质量高,对于现有技术而言存在极大的挑战。
针对以上所述的技术问题,通过本申请实施例的技术方案,图片压缩方法涉及有单轮质量压缩、尺寸压缩和迭代循环质量压缩这三种图片压缩方式,并且需要根据待压缩的原始图片的存储大小,选择性地对上述三种图片压缩方式进行组合使用,从而将原始图片的存储大小压缩至规定大小。在获取到的待压缩的原始图片的存储大小与规定大小之间的差距较大(即图片的存储大小大于预设的第一阈值)的情况下,本申请采用单轮质量压缩的方式对原始图片进行质量压缩,从而大幅度地减少原始图片的存储大小与规定大小之间的差距。在单轮质量压缩后的图片的存储大小与规定大小之间的差距仍比较大(即图片的存储大小大于预设的第二阈值)的情况下,需要采用尺寸压缩的方式对该图片进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。
进一步地,对于存储大小与规定大小之间的差距处于合理的范围内的图片,本申请采用迭代循环质量压缩的方式,不断地对图片进行质量压缩,直至图片的存储大小不大于规定大小。并且,本申请在对图片进行每一轮次的质量压缩的过程中,需要将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
从而,通过上述方式,本申请在将原始图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。达到了既将图片压缩至规定的存储大小,又保证了压缩得到的图片的质量要求的技术效果。进而解决了现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
可选地,根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量的操作,包括:判定图片的当前剩余质量参数是否大于预设的第二质量参数阈值,其中第二质量参数阈值大于第一质量参数阈值;在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量;以及在图片的当前剩余质量参数不大于预设的第二质量参数阈值的情况下,将预设的第一质量参数递减量确定为当前轮次的质量参数递减量。
具体地,参照图3所示,计算设备在将质量循环压缩对象进行迭代循环质量压缩的过程中,对于确定当前轮次的质量参数递减量的操作,计算设备会先判定图片的当前剩余质量参数是否大于预设的第二质量参数阈值。其中第二质量参数阈值大于第一质量参数阈值,预设的第二质量参数阈值例如为15。在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量。例如计算设备将初始质量参数设置为100,那么图片的当前剩余质量参数为100,则计算设备判断图片当前剩余质量参数大于15。图片的当前存储大小例如为608KB,之后计算设备确定当前轮次的质量参数递减量。在图片的当前剩余质量参数不大于预设的第二质量参数阈值的情况下,将预设的第一质量参数递减量确定为当前轮次的质量参数递减量。例如当前剩余质量参数为14,第二质量参数阈值为15,则计算设备判断当前剩余质量参数不大于第二质量参数阈值15,并且第一质量参数递减量例如为1,从而当前轮次的质量参数递减量为1。
从而,计算设备在对图片进行质量压缩循环过程中,对于确定当前轮次的质量参数递减量的方式,计算设备在进行每一轮次的质量压缩时,都要首先判断图片的当前剩余质量参数是否大于第二质量参数阈值,之后会针对判断结果确定当前轮次的质量参数递减量。在经过大量的实验后,将第二质量参数阈值确定为15。因为发明人发现第二质量参数阈值为15时,对于图片压缩的适用性最强,可以适应不同大小的图片,使得图片可以进行有效压缩。也使得后续压缩次数更加合理,为后续的质量参数递减量的确定提供了一个合理的标准。
可选地,在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量的操作,包括:
S302:在图片的当前存储大小大于目标图片的存储大小的2倍的情况下,将预设的第二质量参数递减量确定为当前轮次的质量参数递减量。
具体地,参考图3所示,计算设备在判断当前剩余质量参数大于预设的第二质量参数阈值15后,再获取图片的当前存储大小,如果当前存储大小大于目标图片的存储大小的2倍的情况下,将预设的第二质量参数递减量确定为当前轮次的质量参数递减量。例如,图片的当前存储大小为500KB,目标图片的存储大小为200KB,则当前存储大小500KB大于目标图片的存储大小200KB的2倍,第二质量参数递减量例如为15,则计算设备会将第二质量参数递减量15确定为当前轮次的质量参数递减量。之后计算设备根据质量参数递减量对图片进行质量压缩处理。
S304:在图片的当前存储大小不大于目标图片的存储大小的2倍且大于目标图片的存储大小的1.5倍的情况下,将预设的第三质量参数递减量确定为当前轮次的质量参数递减量。
具体地,在图片经过步骤S302后,计算设备判断当前剩余质量参数大于预设的第二质量参数阈值15,再获取图片的当前存储大小。其中第二质量参数递减量大于第三质量参数递减量。例如图片的当前存储大小为350KB,目标图片的存储大小为200KB,则图片的存储大小不大于目标图片的存储大小的2倍且大于目标图片的存储大小的1.5倍,第三质量参数递减量例如为5,则计算设备将预设的第三质量参数递减量5确定为当前轮次的质量参数递减量。之后计算设备根据质量参数递减量对图片进行质量压缩处理。
S306:在图片的当前存储大小不大于目标图片的存储大小的1.5倍且大于目标图片的存储大小的情况下,将预设的第四质量参数递减量确定为当前轮次的质量参数递减量,并且其中第二质量参数递减量大于第三质量参数递减量,第三质量参数递减量大于第四质量参数递减量,第四质量参数递减量大于第一质量参数递减量。
具体地,参考图3所示,在图片经过步骤S302以及步骤S304后,计算设备判断当前剩余质量参数大于预设的第二质量参数阈值15,再获取图片的当前存储大小。其中,第三质量参数递减量大于第四质量参数递减量,第四质量参数递减量大于第一质量参数递减量。例如图片的当前存储大小为260KB,目标图片的存储大小为200KB,则图片的存储大小不大于目标图片的存储大小的1.5倍且大于目标图片的存储大小200KB,第三质量参数递减量例如为2,则计算设备将预设的第三质量参数递减量2确定为当前轮次的质量参数递减量。之后计算设备根据质量参数递减量对图片进行质量压缩处理。
进一步地,在图片在经过步骤S302、步骤S304和步骤S306的多轮迭代循环质量压缩后,当图片的存储大小小于或等于200KB或者剩余质量参数等于1时,停止压缩,图片压缩完成。之后计算设备会将压缩后的图片保存至存储卡上,并从存储卡上读取图片,将图片进行上传和识别。
从而计算设备在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,确定当前轮次的质量参数递减量的过程中,无论图片的当前存储大小处在哪一阶段,计算设备都可以明确预设质量参数递减量。经过大量实验后,本技术方案将质量参数递减量预先设置为15、5、2、1,通过这样的方式可以使得图片在迭代循环质量压缩过程中无论存储大小是多少,计算设备都可以选择合理的质量参数递减量,以对图片进行最优的迭代循环质量压缩,从而在将原始图片的存储大小压缩至目标大小的同时,能够最大限度的保证了压缩得到的图片的质量。
可选地,根据质量参数递减量对图片进行当前轮次的质量压缩的操作,包括:将图片的当前剩余质量参数与质量参数递减量之间的差值确定为当前轮次的当前质量参数;以及根据当前质量参数对图片进行当前轮次的质量压缩。
具体地,参考图3所示,计算设备在根据质量参数递减量对图片进行当前轮次的质量压缩时,将图片的当前剩余质量参数与质量参数递减量之间的差值确定为当前轮次的当前质量参数。例如,图片的当前剩余质量参数为100,质量参数递减量为15,则当前质量参数则为当前剩余质量参数与质量参数递减量之间的差值85。当质量参数递减量为5、2和1时,当前质量参数计算方式同理。
从而,本技术方案在每经过一轮图片迭代循环质量压缩后,都需要重新计算当前质量参数,将图片的当前剩余质量参数与质量参数递减量之间的差值确定为当前轮次的当前质量参数,之后再进行迭代循环质量压缩。从而可以通过计算得到的当前质量参数准确地对图片进行迭代循环质量压缩。
可选地,方法还包括:在原始图片的存储大小不大于预设的第一阈值的情况下,判定原始图片的存储大小是否大于预设的第二阈值;在判定原始图片的存储大小大于预设的第二阈值的情况下,将原始图片作为尺寸压缩对象;以及在判定原始图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
具体地,参考图3所示,计算设备在获取原始图片的存储大小后,判断该图片的存储大小是否大于预设的第一阈值1MB,如果原始图片的存储大小不大于预设的第一阈值,则判定原始图片的存储大小是否大于预设的第二阈值400KB。例如原始图片的存储大小为700KB,则该图片的存储大小不大于第一阈值1MB,并且大于预设的第二阈值400KB,计算设备则将原始图片作为尺寸压缩对象,将该原始图片进行尺寸压缩。如果原始图片的存储大小为300KB,计算设备则判定原始图片的存储大小不大于第一阈值1MB,也不大于预设的第二阈值400KB,则将原始图片作为质量循环压缩对象,将该原始图片进行迭代循环质量压缩。
从而,计算设备在对原始图片进行尺寸压缩之前需要先判断图片的存储大小是否大于预设的第一阈值与第二阈值,当原始图片的存储大小不大于第一阈值时,则计算设备就不需要对原始图片进行质量压缩,之后根据第二阈值判断原始图片是否要进行尺寸压缩。从而根据原始图片的存储大小,利用预设的阈值对原始图片提供合理的压缩方式与步骤。
可选地,方法还包括:在判定第一图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
具体地,例如原始图片的存储大小为2151KB,大于第一阈值1MB,则计算设备将原始图片进行质量压缩后得到的第一图片的存储大小为255KB,之后计算设备会判断第一图片的存储大小是否大于预设的第二阈值400KB,当第一图片的存储大小不大于第二阈值时,则计算设备会将原始图片作为质量循环压缩对象,利用原始图片的存储大小2151KB开始进行迭代循环质量压缩操作。
从而,因质量压缩的力度较大,较小的原始图片进行质量压缩后的存储大小会较小,并不适用于再次进行尺寸压缩,因此在对较小图片进行压缩时,可以不进行质量压缩,而是直接通过尺寸压缩,之后再进行质量循环压缩,从而对于较小的图片来说,这样的方式更加合理,友好性更强,从而本技术方案可以适用于不同大小的图片,在将图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。
此外,当图片的存储大小处于第一阈值1MB~3MB之间,在对图片进行质量压缩之后,图片的存储大小小于第二阈值400KB,此时应当对图片进行迭代循环质量压缩,但是考虑到如果将该图片进行迭代循环质量压缩会大大增加循环轮次,因此可以选择将该图片进行尺寸压缩后,再进行迭代循环质量压缩。从而通过这种方式,在对图片进行压缩的过程中,根据实际情况和图片的存储大小,改变对图片的压缩步骤,得到适用于迭代循环质量压缩的图片存储大小,从而减少循环次数,提高图片压缩的速率,使得本技术方案更加适用于各个不同大小的图片。
可选地,根据预设的图片尺寸大小对第一图片进行尺寸压缩,得到第二图片的操作,包括:判定第一图片的边长是否大于预设的图片尺寸大小,其中预设的图片尺寸大小用于指示图片的边长对应的像素值;在判定第一图片的边长大于预设的图片尺寸大小的情况下,根据第一图片的最长边的大小与预设的图片尺寸大小,确定尺寸压缩比例,并根据所确定的尺寸压缩比例对第一图片进行尺寸压缩,从而得到第二图片;以及在判定第一图片的边长均不大于预设的图片尺寸大小的情况下,将原始图片作为质量循环压缩对象。
具体地,参照图3所示,在对第一图片进行尺寸压缩之前,计算设备会先判断第一图片的边长是否大于预设的图片尺寸大小。其中预设的图片尺寸大小用于指示图片的边长对应的像素值,预设的图片边长例如为400像素~600像素。优选地,图片边长为400像素。则计算设备会判断第一图片的边长是否大于预设的图片边长,预设的图片边长例如为400像素,即长边和短边是否有任意一边超过400像素。之后计算设备在判定第一图片的边长大于预设的图片尺寸大小的情况下,根据第一图片的最长边的长度与预设的图片尺寸大小,确定尺寸压缩比例,并根据所确定的尺寸压缩比例对第一图片进行尺寸压缩,从而得到第二图片。例如第一图片的长度为700像素,宽度为300像素,则第一图片的边长大于预设的图片尺寸大小,计算设备会根据第一图片的最长边的大小(即700像素),将第一图片压缩至最长边等于400像素,而第一图片的短边也随着等比例缩小。因此在长度为700像素,宽度为300像素的情况下,尺寸压缩比例为7:3,计算设备根据尺寸压缩比例对第一图片进行尺寸压缩后得到的第二图片的边长都则不大于400像素。此外,当计算设备判定第一图片的边长均不大于预设的图片尺寸大小,将原始图片作为质量循环压缩对象,对原始图片直接进行迭代循环质量压缩,不再对原始图片进行质量压缩。
从而,计算设备在对第一图片进行尺寸压缩时,需要根据图片的边长判断是否需要进行尺寸压缩。在判定第一图片的边长大于预设的图片尺寸大小的情况下,计算设备对第一图片进行尺寸压缩。此外,在判定第一图片的边长均不大于预设的图片尺寸大小的情况下,计算设备将原始图片作为质量循环压缩对象。从而本技术方案考虑到当图片的存储大小大于400KB,但是边长较短的情况下,如果对质量压缩后的图片进行迭代循环质量压缩,则会造成图片模糊,清晰度太低的情况。因此根据实际情况,则将原始图片直接进行迭代循环质量压缩,不再对原始图片进行质量压缩,从而在将图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
从而根据本实施例,图片压缩方法涉及有单轮质量压缩、尺寸压缩和迭代循环质量压缩这三种图片压缩方式,并且需要根据待压缩的原始图片的存储大小,选择性地对上述三种图片压缩方式进行组合使用,从而将原始图片的存储大小压缩至规定大小。在获取到的待压缩的原始图片的存储大小与规定大小之间的差距较大(即图片的存储大小大于预设的第一阈值)的情况下,本申请采用单轮质量压缩的方式对原始图片进行质量压缩,从而大幅度地减少原始图片的存储大小与规定大小之间的差距。在单轮质量压缩后的图片的存储大小与规定大小之间的差距仍比较大(即图片的存储大小大于预设的第二阈值)的情况下,需要采用尺寸压缩的方式对该图片进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。
进一步地,在获取到的原始图片的存储大小与规定大小之间的差距不是很大(即图片的存储大小大于预设的第二阈值且小于或等于预设的第一阈值)的情况下,本申请不需要对原始图片进行单轮质量压缩,而是直接对其进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。对于存储大小与规定大小之间的差距处于合理的范围内的图片,本申请采用迭代循环质量压缩的方式,不断地对图片进行质量压缩,直至图片的存储大小不大于规定大小。并且,本申请在对图片进行每一轮次的质量压缩的过程中,需要将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。此外,在获取到的原始图片的存储大小或者进行单轮质量压缩后的图片的存储大小不大于预设的第二阈值的情况下,本申请不需要对图片进行尺寸压缩,而是直接对其进行迭代循环质量压缩。
从而,通过上述方式,本申请能够针对不同大小的原始图片,选择性地对上述三种图片压缩方式进行组合使用,从而在将原始图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。达到了既将图片压缩至规定的存储大小,又保证了压缩得到的图片的质量要求的技术效果。进而解决了现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图4示出了根据本实施例所述的图片压缩装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:第一压缩模块410,用于在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;第二压缩模块420,用于在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及第三压缩模块430,用于在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值,并且其中第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
可选地,第三压缩模块430包括:第一判定子模块,用于判定图片的当前剩余质量参数是否大于预设的第二质量参数阈值,其中第二质量参数阈值大于第一质量参数阈值;第一确定子模块,用于在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量;以及第二确定子模块,用于在图片的当前剩余质量参数不大于预设的第二质量参数阈值的情况下,将预设的第一质量参数递减量确定为当前轮次的质量参数递减量。
可选地,第一确定子模块包括:第一确定单元,用于在图片的当前存储大小大于目标图片的存储大小的2倍的情况下,将预设的第二质量参数递减量确定为当前轮次的质量参数递减量;第二确定单元,用于在图片的当前存储大小不大于目标图片的存储大小的2倍且大于目标图片的存储大小的1.5倍的情况下,将预设的第三质量参数递减量确定为当前轮次的质量参数递减量;以及第三确定单元,用于在图片的当前存储大小不大于目标图片的存储大小的1.5倍且大于目标图片的存储大小的情况下,将预设的第四质量参数递减量确定为当前轮次的质量参数递减量,并且其中第二质量参数递减量大于第三质量参数递减量,第三质量参数递减量大于第四质量参数递减量,第四质量参数递减量大于第一质量参数递减量。
可选地,第三压缩模块430包括:第三确定子模块,用于将图片的当前剩余质量参数与质量参数递减量之间的差值确定为当前轮次的当前质量参数;以及质量压缩子模块,用于根据当前质量参数对图片进行当前轮次的质量压缩。
可选地,装置400还包括:第一判定模块,用于在原始图片的存储大小不大于预设的第一阈值的情况下,判定原始图片的存储大小是否大于预设的第二阈值;尺寸压缩模块,用于在判定原始图片的存储大小大于预设的第二阈值的情况下,将原始图片作为尺寸压缩对象;以及第一质量压缩模块,用于在判定原始图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
可选地,装置400还包括:第二质量压缩模块,用于在判定第一图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
可选地,第二压缩模块420包括:第二判定子模块,用于判定第一图片的边长是否大于预设的图片尺寸大小,其中预设的图片尺寸大小用于指示图片的边长对应的像素值;尺寸压缩子模块,用于在判定第一图片的边长大于预设的图片尺寸大小的情况下,根据第一图片的最长边的大小与预设的图片尺寸大小,确定尺寸压缩比例,并根据所确定的尺寸压缩比例对第一图片进行尺寸压缩,从而得到第二图片;以及质量压缩子模块,用于在判定第一图片的边长均不大于预设的图片尺寸大小的情况下,将原始图片作为质量循环压缩对象。
从而根据本实施例,图片压缩方法涉及有单轮质量压缩、尺寸压缩和迭代循环质量压缩这三种图片压缩方式,并且需要根据待压缩的原始图片的存储大小,选择性地对上述三种图片压缩方式进行组合使用,从而将原始图片的存储大小压缩至规定大小。在获取到的待压缩的原始图片的存储大小与规定大小之间的差距较大(即图片的存储大小大于预设的第一阈值)的情况下,本申请采用单轮质量压缩的方式对原始图片进行质量压缩,从而大幅度地减少原始图片的存储大小与规定大小之间的差距。在单轮质量压缩后的图片的存储大小与规定大小之间的差距仍比较大(即图片的存储大小大于预设的第二阈值)的情况下,需要采用尺寸压缩的方式对该图片进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。
进一步地,在获取到的原始图片的存储大小与规定大小之间的差距不是很大(即图片的存储大小大于预设的第二阈值且小于或等于预设的第一阈值)的情况下,本申请不需要对原始图片进行单轮质量压缩,而是直接对其进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。对于存储大小与规定大小之间的差距处于合理的范围内的图片,本申请采用迭代循环质量压缩的方式,不断地对图片进行质量压缩,直至图片的存储大小不大于规定大小。并且,本申请在对图片进行每一轮次的质量压缩的过程中,需要将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。此外,在获取到的原始图片的存储大小或者进行单轮质量压缩后的图片的存储大小不大于预设的第二阈值的情况下,本申请不需要对图片进行尺寸压缩,而是直接对其进行迭代循环质量压缩。
从而,通过上述方式,本申请能够针对不同大小的原始图片,选择性地对上述三种图片压缩方式进行组合使用,从而在将原始图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。达到了既将图片压缩至规定的存储大小,又保证了压缩得到的图片的质量要求的技术效果。进而解决了现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
实施例3
图5示出了根据本实施例所述的图片压缩装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对原始图片进行质量压缩,得到第一图片;在第一图片的存储大小大于预设的第二阈值的情况下,将第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对尺寸压缩对象进行尺寸压缩,得到第二图片;以及在第二图片的存储大小大于预设的第三阈值的情况下,将第二图片作为质量循环压缩对象,并对质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者目标图片的质量参数等于预设的第一质量参数阈值,并且其中第一阈值大于第二阈值,第二阈值大于第三阈值,第三阈值大于目标大小;在对质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。
可选地,根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量的操作,包括:判定图片的当前剩余质量参数是否大于预设的第二质量参数阈值,其中第二质量参数阈值大于第一质量参数阈值;在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量;以及在图片的当前剩余质量参数不大于预设的第二质量参数阈值的情况下,将预设的第一质量参数递减量确定为当前轮次的质量参数递减量。
可选地,在图片的当前剩余质量参数大于预设的第二质量参数阈值的情况下,根据图片的当前存储大小,确定当前轮次的质量参数递减量的操作,包括:在图片的当前存储大小大于目标图片的存储大小的2倍的情况下,将预设的第二质量参数递减量确定为当前轮次的质量参数递减量;在图片的当前存储大小不大于目标图片的存储大小的2倍且大于目标图片的存储大小的1.5倍的情况下,将预设的第三质量参数递减量确定为当前轮次的质量参数递减量;以及在图片的当前存储大小不大于目标图片的存储大小的1.5倍且大于目标图片的存储大小的情况下,将预设的第四质量参数递减量确定为当前轮次的质量参数递减量,并且其中第二质量参数递减量大于第三质量参数递减量,第三质量参数递减量大于第四质量参数递减量,第四质量参数递减量大于第一质量参数递减量。
可选地,根据质量参数递减量对图片进行当前轮次的质量压缩的操作,包括:将图片的当前剩余质量参数与质量参数递减量之间的差值确定为当前轮次的当前质量参数;以及根据当前质量参数对图片进行当前轮次的质量压缩。
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:在原始图片的存储大小不大于预设的第一阈值的情况下,判定原始图片的存储大小是否大于预设的第二阈值;在判定原始图片的存储大小大于预设的第二阈值的情况下,将原始图片作为尺寸压缩对象;以及在判定原始图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:在判定第一图片的存储大小不大于预设的第二阈值的情况下,将原始图片作为质量循环压缩对象。
可选地,根据预设的图片尺寸大小对第一图片进行尺寸压缩,得到第二图片的操作,包括:判定第一图片的边长是否大于预设的图片尺寸大小,其中预设的图片尺寸大小用于指示图片的边长对应的像素值;在判定第一图片的边长大于预设的图片尺寸大小的情况下,根据第一图片的最长边的大小与预设的图片尺寸大小,确定尺寸压缩比例,并根据所确定的尺寸压缩比例对第一图片进行尺寸压缩,从而得到第二图片;以及在判定第一图片的边长均不大于预设的图片尺寸大小的情况下,将原始图片作为质量循环压缩对象。
从而根据本实施例,图片压缩方法涉及有单轮质量压缩、尺寸压缩和迭代循环质量压缩这三种图片压缩方式,并且需要根据待压缩的原始图片的存储大小,选择性地对上述三种图片压缩方式进行组合使用,从而将原始图片的存储大小压缩至规定大小。在获取到的待压缩的原始图片的存储大小与规定大小之间的差距较大(即图片的存储大小大于预设的第一阈值)的情况下,本申请采用单轮质量压缩的方式对原始图片进行质量压缩,从而大幅度地减少原始图片的存储大小与规定大小之间的差距。在单轮质量压缩后的图片的存储大小与规定大小之间的差距仍比较大(即图片的存储大小大于预设的第二阈值)的情况下,需要采用尺寸压缩的方式对该图片进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。
进一步地,在获取到的原始图片的存储大小与规定大小之间的差距不是很大(即图片的存储大小大于预设的第二阈值且小于或等于预设的第一阈值)的情况下,本申请不需要对原始图片进行单轮质量压缩,而是直接对其进行尺寸压缩,从而使图片的存储大小与规定大小之间的差距处于合理的范围内(即,图片的存储大小不大于预设的第二阈值)。对于存储大小与规定大小之间的差距处于合理的范围内的图片,本申请采用迭代循环质量压缩的方式,不断地对图片进行质量压缩,直至图片的存储大小不大于规定大小。并且,本申请在对图片进行每一轮次的质量压缩的过程中,需要将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据质量参数递减量对图片进行当前轮次的质量压缩。此外,在获取到的原始图片的存储大小或者进行单轮质量压缩后的图片的存储大小不大于预设的第二阈值的情况下,本申请不需要对图片进行尺寸压缩,而是直接对其进行迭代循环质量压缩。
从而,通过上述方式,本申请能够针对不同大小的原始图片,选择性地对上述三种图片压缩方式进行组合使用,从而在将原始图片的存储大小压缩至规定大小的同时,能够最大限度的保证了压缩得到的图片的质量。达到了既将图片压缩至规定的存储大小,又保证了压缩得到的图片的质量要求的技术效果。进而解决了现有技术中存在的将图片压缩至规定的存储大小的情况下,无法保证压缩后的图片的质量要求的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种图片压缩方法,其特征在于,包括:
在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对所述原始图片进行质量压缩,得到第一图片;
在所述第一图片的存储大小大于预设的第二阈值的情况下,将所述第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对所述尺寸压缩对象进行尺寸压缩,得到第二图片;以及
在所述第二图片的存储大小大于预设的第三阈值的情况下,将所述第二图片作为质量循环压缩对象,并对所述质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者所述目标图片的质量参数等于预设的第一质量参数阈值,并且其中
所述第一阈值大于所述第二阈值,所述第二阈值大于所述第三阈值,所述第三阈值大于所述目标大小;在对所述质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据所述图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据所述质量参数递减量对所述图片进行当前轮次的质量压缩;
根据所述图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量的操作,包括:
判定所述图片的当前剩余质量参数是否大于预设的第二质量参数阈值,其中所述第二质量参数阈值大于所述第一质量参数阈值;
在所述图片的所述当前剩余质量参数大于所述预设的第二质量参数阈值的情况下,根据所述图片的当前存储大小,确定当前轮次的质量参数递减量;以及
在所述图片的所述当前剩余质量参数不大于所述预设的第二质量参数阈值的情况下,将预设的第一质量参数递减量确定为当前轮次的质量参数递减量;
在所述图片的所述当前剩余质量参数大于所述预设的第二质量参数阈值的情况下,根据所述图片的当前存储大小,确定当前轮次的质量参数递减量的操作,包括:
在所述图片的当前存储大小大于所述目标图片的存储大小的2倍的情况下,将预设的第二质量参数递减量确定为当前轮次的质量参数递减量;
在所述图片的当前存储大小不大于所述目标图片的存储大小的2倍且大于所述目标图片的存储大小的1.5倍的情况下,将预设的第三质量参数递减量确定为当前轮次的质量参数递减量;以及
在所述图片的当前存储大小不大于所述目标图片的存储大小的1.5倍且大于所述目标图片的存储大小的情况下,将预设的第四质量参数递减量确定为当前轮次的质量参数递减量,并且其中
所述第二质量参数递减量大于所述第三质量参数递减量,所述第三质量参数递减量大于所述第四质量参数递减量,所述第四质量参数递减量大于所述第一质量参数递减量;
根据所述质量参数递减量对所述图片进行当前轮次的质量压缩的操作,包括:
将所述图片的当前剩余质量参数与所述质量参数递减量之间的差值确定为当前轮次的当前质量参数;以及
根据所述当前质量参数对所述图片进行当前轮次的质量压缩。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述原始图片的存储大小不大于所述预设的第一阈值的情况下,判定所述原始图片的存储大小是否大于所述预设的第二阈值;
在判定所述原始图片的存储大小大于所述预设的第二阈值的情况下,将所述原始图片作为所述尺寸压缩对象;以及
在判定所述原始图片的存储大小不大于所述预设的第二阈值的情况下,将所述原始图片作为所述质量循环压缩对象。
3.根据权利要求1所述的方法,其特征在于,还包括:
在判定所述第一图片的存储大小不大于所述预设的第二阈值的情况下,将所述原始图片作为所述质量循环压缩对象。
4.根据权利要求1所述的方法,其特征在于,根据预设的图片尺寸大小对所述第一图片进行尺寸压缩,得到第二图片的操作,包括:
判定所述第一图片的边长是否大于所述预设的图片尺寸大小,其中所述预设的图片尺寸大小用于指示图片的边长对应的像素值;
在判定所述第一图片的边长大于所述预设的图片尺寸大小的情况下,根据所述第一图片的最长边的大小与所述预设的图片尺寸大小,确定尺寸压缩比例,并根据所确定的尺寸压缩比例对所述第一图片进行尺寸压缩,从而得到所述第二图片;以及
在判定所述第一图片的边长均不大于所述预设的图片尺寸大小的情况下,将所述原始图片作为所述质量循环压缩对象。
5.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至4中任意一项所述的方法。
6.一种图片压缩装置,其特征在于,包括:
第一压缩模块,用于在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对所述原始图片进行质量压缩,得到第一图片;
第二压缩模块,用于在所述第一图片的存储大小大于预设的第二阈值的情况下,将所述第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对所述尺寸压缩对象进行尺寸压缩,得到第二图片;以及
第三压缩模块,用于在所述第二图片的存储大小大于预设的第三阈值的情况下,将所述第二图片作为质量循环压缩对象,并对所述质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者所述目标图片的质量参数等于预设的第一质量参数阈值,并且其中
所述第一阈值大于所述第二阈值,所述第二阈值大于所述第三阈值,所述第三阈值大于所述目标大小;在对所述质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据所述图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据所述质量参数递减量对所述图片进行当前轮次的质量压缩。
7.一种图片压缩装置,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
在所获取的原始图片的存储大小大于预设的第一阈值的情况下,根据预设的质量参数对所述原始图片进行质量压缩,得到第一图片;
在所述第一图片的存储大小大于预设的第二阈值的情况下,将所述第一图片作为尺寸压缩对象,并根据预设的图片尺寸大小对所述尺寸压缩对象进行尺寸压缩,得到第二图片;以及
在所述第二图片的存储大小大于预设的第三阈值的情况下,将所述第二图片作为质量循环压缩对象,并对所述质量循环压缩对象进行迭代循环质量压缩,直至压缩得到的目标图片的存储大小不大于预设的目标大小或者所述目标图片的质量参数等于预设的第一质量参数阈值,并且其中
所述第一阈值大于所述第二阈值,所述第二阈值大于所述第三阈值,所述第三阈值大于所述目标大小;在对所述质量循环压缩对象进行每一轮次的质量压缩的过程中,将上一轮次压缩得到的图片作为当前轮次的质量循环压缩对象,并根据所述图片的当前存储大小和当前剩余质量参数,确定当前轮次的质量参数递减量,并根据所述质量参数递减量对所述图片进行当前轮次的质量压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110891598.8A CN113724345B (zh) | 2021-08-04 | 2021-08-04 | 图片压缩方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110891598.8A CN113724345B (zh) | 2021-08-04 | 2021-08-04 | 图片压缩方法、装置以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113724345A CN113724345A (zh) | 2021-11-30 |
CN113724345B true CN113724345B (zh) | 2024-03-15 |
Family
ID=78674949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110891598.8A Active CN113724345B (zh) | 2021-08-04 | 2021-08-04 | 图片压缩方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724345B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111681291A (zh) * | 2020-04-27 | 2020-09-18 | 中国平安财产保险股份有限公司 | 图像处理方法、装置、设备及计算机可读存储介质 |
CN112102320A (zh) * | 2020-11-18 | 2020-12-18 | 粒子文化科技集团(杭州)股份有限公司 | 图像压缩方法、装置、电子装置和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336647A (ja) * | 1997-06-04 | 1998-12-18 | Nikon Corp | 画像圧縮装置および画像圧縮処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
-
2021
- 2021-08-04 CN CN202110891598.8A patent/CN113724345B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111681291A (zh) * | 2020-04-27 | 2020-09-18 | 中国平安财产保险股份有限公司 | 图像处理方法、装置、设备及计算机可读存储介质 |
CN112102320A (zh) * | 2020-11-18 | 2020-12-18 | 粒子文化科技集团(杭州)股份有限公司 | 图像压缩方法、装置、电子装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113724345A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8363715B2 (en) | Processing compressed video data | |
CN107872669B (zh) | 视频码率处理方法和装置 | |
CN109905711A (zh) | 一种图像的处理方法、***及终端设备 | |
CN110442450B (zh) | 图像处理设备、方法、装置以及素材计算与渲染的*** | |
CN110291774A (zh) | 一种图像处理方法、设备、***及存储介质 | |
CN110445977B (zh) | 图像信号处理器的参数设置方法及终端设备 | |
CN112057842B (zh) | 帧率控制方法、装置以及电子设备 | |
JP6217643B2 (ja) | 動画像符号化装置 | |
CN112449117A (zh) | 一种聚焦步长确定方法、装置、存储介质及电子装置 | |
CN113724345B (zh) | 图片压缩方法、装置以及存储介质 | |
CN112165620A (zh) | 视频的编码方法及装置、存储介质、电子设备 | |
CN113283447B (zh) | 食物烘焙方法及装置、存储介质及电子装置 | |
CN110990088A (zh) | 数据处理方法及相关设备 | |
CN115829836A (zh) | 图像处理方法、装置、电子设备及模型训练方法 | |
CN113812904A (zh) | 内窥式胶囊图像传输方法、装置和*** | |
CN114339252A (zh) | 一种数据压缩方法及装置 | |
CN113194045B (zh) | 数据流量分析方法、装置、存储介质及处理器 | |
CN107087169A (zh) | 一种压缩方法、uvc视频设备及电子设备 | |
CN113014905A (zh) | 图像帧的生成方法及装置、存储介质、电子设备 | |
CN118301414A (zh) | 一种图像传输方法、设备及存储介质 | |
CN113852823B (zh) | 一种基于物联网的图像数据上传方法、***和装置 | |
CN116245727A (zh) | 一种基于规则的迭代式全景拼接方法、装置及存储介质 | |
CN110838151B (zh) | 图片压缩处理方法、计算机***以及可读存储介质 | |
CN110809162B (zh) | 图片压缩方法、压缩装置、计算机***与计算机可读取介质 | |
CN112532981B (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 |