CN117011146B - 图像缩放方法及其装置、电子设备、存储介质 - Google Patents
图像缩放方法及其装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN117011146B CN117011146B CN202311256065.8A CN202311256065A CN117011146B CN 117011146 B CN117011146 B CN 117011146B CN 202311256065 A CN202311256065 A CN 202311256065A CN 117011146 B CN117011146 B CN 117011146B
- Authority
- CN
- China
- Prior art keywords
- image
- scaling
- horizontal
- processing
- vertical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 265
- 230000008569 process Effects 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 51
- 238000013507 mapping Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 26
- 230000009467 reduction Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000003321 amplification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000011946 reduction process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开了一种图像缩放方法及其装置、电子设备、存储介质;其中该方法包括:接收输入的待处理的源图像;获取源图像的源图像宽度;将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序;其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到目标图像。本发明实施例能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提高缓存资源的利用效率。
Description
技术领域
本发明涉及图像处理技术领域,尤其是一种图像缩放方法及其装置、电子设备、存储介质。
背景技术
图像缩放是图像处理中常见技术之一,图像缩放技术把源图像按照缩放比例调整得到目标图像,从而适应不同的应用场景和需求。相关技术中,图像缩放可以通过二维插值方法进行硬件实现,但该方法的缓存资源的利用效率较低。
发明内容
以下是对本文详细描述的主题的概述。
本发明实施例提供了一种图像缩放方法及其装置、电子设备、存储介质,能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提高缓存资源的利用效率。
第一方面,本发明实施例提供了一种图像缩放方法,包括:
接收输入的待处理的源图像;
获取所述源图像的源图像宽度;
将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序;其中,所述图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;
根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,得到目标图像。
根据本发明的一些实施例,所述缩放处理类型包括图像水平缩小处理,所述将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序,包括:
在所述源图像宽度大于所述目标图像宽度的情况下,确定对所述源图像进行图像水平缩小处理;
在确定进行所述图像水平缩小处理的情况下,确定采用先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序。
根据本发明的一些实施例,所述缩放处理类型包括图像水平放大处理,所述将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序,包括:
在所述源图像宽度小于所述目标图像宽度的情况下,确定对所述源图像进行图像水平放大处理;
在确定进行所述图像水平放大处理的情况下,确定采用先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序。
根据本发明的一些实施例,所述根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,包括:
在采用所述第一处理顺序的情况下,发送高电平选择信号至多路选择器,令所述源图像的源图像数据通过所述多路选择器逐个输入至水平缓冲区,存放第一预设数目的水平像素数据;
确定所述目标图像映射到所述源图像的垂直映射位置和水平映射位置;
在所述水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对所述水平像素数据进行水平插值处理,得到水平插值结果;
将所述水平插值结果逐行存放至行缓存区;其中,所述行缓存区包括至少两个静态随机存储器;
在所述垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对所述水平插值结果进行垂直插值处理,逐行输出缩小后的所述目标图像。
根据本发明的一些实施例,所述根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,包括:
在采用所述第二处理顺序的情况下,发送低电平选择信号至多路选择器,令所述源图像的源图像数据通过所述多路选择器逐行输入至行缓存区,存放第二预设数目的行图像数据;其中,所述行缓存区包括至少两个静态随机存储器;
确定所述目标图像上的像素点映射到所述源图像的垂直映射位置和水平映射位置;
在所述垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对所述行图像数据上垂直方向的像素进行垂直插值处理,得到垂直插值结果;
将所述垂直插值结果逐个地输入至水平缓冲区;
在所述水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对所述垂直插值结果进行水平插值处理,输出放大后的所述目标图像。
根据本发明的一些实施例,所述进行垂直插值处理还包括:
记录所述垂直映射位置落在预设的所述第一目标位置范围内的目标图像像素点的第一数量;
根据所述第一数量,确定进行所述垂直插值处理的次数;其中,每次进行的所述垂直插值处理所使用的垂直插值系数不同,所述垂直插值系数通过所述垂直插值基函数计算得到。
根据本发明的一些实施例,所述进行水平插值处理还包括:
记录所述水平映射位置落在预设的所述第二目标位置范围内的目标图像像素点的第二数量;
根据所述第二数量,确定进行所述水平插值处理的次数;其中,每次进行的所述水平插值处理所使用的水平插值系数不同,所述水平插值系数通过所述水平插值基函数计算得到。
第二方面,本发明实施例提供了一种图像缩放装置,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如第一方面实施例任一项所述的图像缩放方法。
第三方面,本发明实施例提供了一种电子设备,包括如第二方面实施例所述的图像缩放装置。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例任一项所述的图像缩放方法。
本发明实施例包括:在对图像进行缩放处理的过程中,在接收输入的待处理的源图像之后,首先获取源图像的源图像宽度,接着将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序,其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;最后根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到目标图像。在同一种缩放处理类型下,采用的图像缩放处理顺序不同,所占用的缓存资源的大小也不同;而基于源图像宽度和目标图像宽度确定缩放处理类型,以及对应的合适的图像缩放处理顺序,有利于使用较少的缓存资源实现图像缩放。即是说,本发明实施例能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提高缓存资源的利用效率。
发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明一个实施例提供的用于执行图像缩放方法的***架构的示意图;
图2是图1中缩放处理模块的具体结构示意图;
图3是本发明一个实施例提供的在进行图像水平缩小处理时缩放处理模块内的数据流向示意图;
图4是本发明一个实施例提供的在进行图像水平放大处理时缩放处理模块内的数据流向示意图;
图5是本发明一个实施例提供的图像缩放方法的流程示意图;
图6是本发明一个实施例提供的图5中步骤S140的具体流程示意图;
图7是本发明另一个实施例提供的图5中步骤S140的具体流程示意图;
图8是本发明一个实施例提供的图像缩放装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
需要说明的是,在本发明的描述中虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上。描述到“第一”、“第二”只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解释:
静态随机存储器(Static Random-Access Memory,SRAM),是常见的***内存。
相关技术中,图像缩放可以通过二维插值方法进行硬件实现,但该方法的缓存资源的利用效率较低。具体地,目前采用的方法有两种:一种是对源图像行数据先进行水平缩放,并将缩放后数据存放到行缓存区,再进行垂直缩放,从而获得目标图像;但当图像要进行水平放大时,需要大量的行缓存资源,且放大后目标图像的行宽度受行缓存资源限制。另一种是将源图像行数据存放到行缓存区,先进行垂直缩放,并将缩放后数据进行水平缩放,从而获得目标图像;但当图像要进行水平缩小时,不能通过先进行水平缩放来减少行缓存资源使用。
基于此,本发明提供了一种图像缩放方法、图像缩放装置、电子设备及计算机可读存储介质;在对图像进行缩放处理的过程中,在接收输入的待处理的源图像之后,首先获取源图像的源图像宽度,接着将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序,其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;最后根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到目标图像。在同一种缩放处理类型下,采用的图像缩放处理顺序不同,所占用的缓存资源的大小也不同;而基于源图像宽度和目标图像宽度确定缩放处理类型,以及对应的合适的图像缩放处理顺序,有利于使用较少的缓存资源实现图像缩放。即是说,本发明实施例能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提高缓存资源的利用效率。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,用于执行图像缩放处理的***框架包括:图像接收模块110、数据获取模块120、处理顺序确定模块130和缩放处理模块140。其中,图像接收模块110的输入端用于输入待处理的源图像;图像接收模块110的输出端与数据获取模块120的输入端连接,数据获取模块120的输出端与处理顺序确定模块130的输入端连接,处理顺序确定模块130的输出端与缩放处理模块140的输入端连接;缩放处理模块140的输出端用于输出经过图像缩放处理后得到的目标图像。
其中,图像接收模块110,用于接收输入的待处理的源图像,并将待处理的源图像输出至数据获取模块120。
数据获取模块120,用于在接收到图像接收模块110发送的待处理的源图像之后,获取源图像的源图像宽度,并将源图像和源图像宽度输出至处理顺序确定模块130。
处理顺序确定模块130,用于在接收到源图像和源图像宽度之后,将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序;其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序。而后,将源图像、以及确定的缩放处理类型和图像缩放处理顺序输出至缩放处理模块140。
缩放处理模块140,用于根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到并输出缩放后的目标图像。
本发明实施例通过如图1所示的***框架,能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提升硬件实现时缓存资源的利用效率。
在一实施例中,参照图2,缩放处理模块140包括:第一多路选择器MUX1、第二多路选择器MUX2、第三多路选择器MUX3、行缓存区141、水平缩放处理模块142和垂直缩放处理模块143;其中,第一多路选择器MUX1的第一输入端(如图1所示标号为0的输入端口)与处理顺序确定模块130的输出端连接;第一多路选择器MUX1的第二输入端(如图1所示标号为1的输入端口)与第三多路选择器MUX3的第一输入端连接;第一多路选择器MUX1的输出端与第三多路选择器MUX3的第二输入端连接;在第一多路选择器MUX1的输出端与第三多路选择器MUX3的第二输入端之间依次连接有行缓存区141和垂直缩放处理模块143;第二多路选择器MUX2的第一输入端与第三多路选择器MUX3的第二输入端连接;第二多路选择器MUX2的第二输入端与处理顺序确定模块130的输出端连接;第二多路选择器MUX2的输出端与第三多路选择器MUX3的第一输入端连接;在第二多路选择器MUX2的输出端与第三多路选择器MUX3的第一输入端之间连接有水平缩放处理模块142。此外,第一多路选择器MUX1、第二多路选择器MUX2、第三多路选择器MUX3的第一输入端均是如图1所示的标号为0的输入端口;第一多路选择器MUX1、第二多路选择器MUX2、第三多路选择器MUX3的第二输入端均是如图1所示的标号为1的输入端口。水平缩放处理模块142中还包括水平缓冲区1421,水平缓冲区1421用于缓存输入至水平缩放处理模块142的数据。
具体地,处理顺序确定模块130还用于:根据确定的缩放处理类型和图像缩放处理顺序向缩放处理模块140发送源图像和选路信号,通过选路信号确定各个多路选择器的用于接收数据的输入端口,从而改变缩放处理模块140中的图像数据的流向。图像数据的流向不同,则流经行缓存区141、水平缩放处理模块142和垂直缩放处理模块143的先后顺序不同;有利于使用较少的缓存资源实现图像缩放,提升硬件实现时缓存资源的利用效率。
具体地,处理顺序确定模块130所确定的缩放处理类型包括:图像水平缩小处理和图像水平放大处理;处理顺序确定模块130所确定的图像缩放处理顺序包括:先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序以及先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序。处理顺序确定模块130输出的选路信号包括高电平选择信号和低电平选择信号。
在一些实施例中,在源图像宽度大于目标图像宽度的情况下,处理顺序确定模块130确定对源图像进行图像水平缩小处理,且采用第一处理顺序,基于此,输出高电平选择信号至各个多路选择器,使得缩放处理模块140中的图像数据流向等效于如图3所示。结合图2和图3,源图像的源图像数据通过第二多路选择器MUX2的第二输入端输入,并被输出至水平缩放处理模块142的水平缓冲区1421;水平缩放处理模块142对缓存至水平缓冲区1421的图像数据进行水平插值处理,得到水平插值结果;并将水平插值结果逐行存放至行缓存区141;最后由垂直缩放处理模块143对水平插值结果进行垂直插值处理,得到并输出缩小后的目标图像。可以理解的是,需要进行图像水平缩小处理时,采用先水平缩放后垂直缩放的第一处理顺序,需要的行缓存区深度与输出的目标图像宽度一致,在一定行缓存深度下,能支持输入的源图像宽度更大;缓存资源的利用效率更高。
在一些实施例中,在源图像宽度小于目标图像宽度的情况下,处理顺序确定模块130确定对源图像进行图像水平放大处理,且采用第二处理顺序,基于此,输出低电平选择信号至各个多路选择器,使得缩放处理模块140中的图像数据流向等效于如图4所示。结合图4,源图像的源图像数据通过第一多路选择器MUX1的第一输入端输入,并被输出至行缓存区141,存放第二预设数目的行图像数据;接着,由垂直缩放处理模块143对缓存在行缓存区141的行图像数据进行垂直插值处理,得到垂直插值结果;将垂直插值结果输入至水平缩放处理模块142的水平缓冲区1421;接着,水平缩放处理模块142对垂直插值结果进行水平插值处理,得到并输出放大后的目标图像。可以理解的是,需要进行图像水平放大处理时,采用先垂直缩放后水平缩放的第二处理顺序,需要的行缓存区深度与输入的源图像宽度一致,行缓存资源不会限制输出的目标图像的宽度;缓存资源的利用效率更高。
在一实施例中,行缓存区141包括至少一个静态随机存储器。可以理解的是,在行缓存区141包括一个静态随机存储器的情况下,图1所示的硬件能够实现本申请实施例的图像缩放处理。而值得注意的是,为了提升行缓存区的利用效率,可以将本申请实施例的行缓存区141设计为由两片或多片SRAM拼接而成,当图像水平缩放后,图像数据的宽度远远小于行缓存区的深度时,没被使用的SRAM可以释放给***中的其他单元使用,从而提高硬件缓存资源的利用效率。
本领域技术人员可以理解的是,图中示出的***结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本领域技术人员可以理解的是,本发明实施例描述的***架构以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着***架构的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述***结构,下面提出本发明的图像缩放方法的各个实施例。
第一方面,如图5所示,该图像缩放方法能够应用于如图1所示的***框架中,该图像缩放方法可以包括但不限于有步骤S110至步骤S140。
步骤S110:接收输入的待处理的源图像。
步骤S120:获取源图像的源图像宽度。
本步骤中,获取到源图像宽度有利于为后续确定缩放处理类型奠定数据基础。
步骤S130:将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序;其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序。
本步骤中,缩放处理类型包括:图像水平缩小处理和图像水平放大处理。图像缩放处理顺序包括:先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序以及先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序。
步骤S140:根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到目标图像。
通过步骤S110至步骤S140,在对图像进行缩放处理的过程中,在接收输入的待处理的源图像之后,首先获取源图像的源图像宽度,接着将源图像宽度和预置的目标图像宽度进行比较,确定对源图像进行的缩放处理类型和图像缩放处理顺序,其中,图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;最后根据缩放处理类型和图像缩放处理顺序对源图像进行图像缩放处理,得到目标图像。在同一种缩放处理类型下,采用的图像缩放处理顺序不同,所占用的缓存资源的大小也不同;而基于源图像宽度和目标图像宽度确定缩放处理类型,以及对应的合适的图像缩放处理顺序,有利于使用较少的缓存资源实现图像缩放。因此,本发明实施例能够通过调整水平缩放与垂直缩放的处理顺序,使用较少的缓存资源实现图像缩放,提高缓存资源的利用效率。
根据本发明的一些实施例,对步骤S130进行进一步的说明,该步骤可以包括但不限于有以下步骤:在源图像宽度大于目标图像宽度的情况下,确定对源图像进行图像水平缩小处理;在确定进行图像水平缩小处理的情况下,确定采用先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序。可以理解的是,需要进行图像水平缩小处理时,采用先水平缩放后垂直缩放的第一处理顺序,需要的行缓存区深度与输出的目标图像宽度一致,在一定行缓存深度下,能支持输入的源图像宽度更大;缓存资源的利用效率更高。
根据本发明的一些实施例,对步骤S130进行进一步的说明,该步骤可以包括但不限于有以下步骤:在源图像宽度小于目标图像宽度的情况下,确定对源图像进行图像水平放大处理;在确定进行图像水平放大处理的情况下,确定采用先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序。可以理解的是,需要进行图像水平放大处理时,采用先垂直缩放后水平缩放的第二处理顺序,需要的行缓存区深度与输入的源图像宽度一致,行缓存资源不会限制输出的目标图像的宽度;缓存资源的利用效率更高。
根据本发明的一些实施例,结合图6对步骤S140进行进一步的说明,步骤S140可以包括但不限于有步骤S210至步骤S250。
步骤S210:在采用第一处理顺序的情况下,发送高电平选择信号至多路选择器,令源图像的源图像数据通过多路选择器逐个输入至水平缓冲区,存放第一预设数目的水平像素数据。
步骤S220:确定目标图像上的像素点映射到源图像的垂直映射位置和水平映射位置。
步骤S230:在水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对水平像素数据进行水平插值处理,得到水平插值结果。
步骤S240:将水平插值结果逐行存放至行缓存区;其中,行缓存区包括至少两个静态随机存储器。
步骤S250:在垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对水平插值结果进行垂直插值处理,逐行输出缩小后的目标图像。
在一实施例中,步骤S230中采用的水平插值基函数是Lanczos3函数。在采用Lanczos3函数进行水平插值处理的情况下,Lanczos3函数确定了需要对6个像素数据进行水平插值。因此,在步骤S210中存至水平缓冲区的水平像素数据有6个,即第一预设数目为6个。即第一预设数目的具体取值由采用的水平插值基函数确定。可以理解的是,可以根据图像处理的需要,选择其他的水平插值基函数进行水平插值处理,本发明对选用的水平插值基函数不作具体的限制。
在一实施例中,步骤S250中采用的垂直插值基函数是Lanczos2函数。在采用Lanczos2函数进行垂直插值处理的情况下,Lanczos2函数确定了需要对当前4行图像数据进行垂直插值。可以理解的是,可以根据图像处理的需要,选择其他的垂直插值基函数进行垂直插值处理,本发明对选用的垂直插值基函数不作具体的限制。
通过步骤S210至步骤S250,基于先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序处理源图像,得到缩小后的目标图像,且在处理过程中,需要的行缓存区深度与输出的目标图像宽度一致,在一定行缓存深度下,能支持输入的源图像宽度更大;缓存资源的利用效率更高。
举一示例,结合图3,说明基于先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序处理源图像,得到缩小后的目标图像的具体过程。
确定采用第一处理顺序后,首先将源图像的源图像数据逐个输送到水平缩放处理模块的水平缓冲区(以Lanczos3函数作为水平插值基函数为例,存放6个像素)。
然后,水平缩放处理模块根据目标图像映射到源图像的水平映射位置的关系,判定是否需对当前6个水平像素数据进行水平插值,将当前6个水平像素数据的水平坐标分别标记为X1,X2,X3,X4,X5,X6。具体地,当水平映射位置位于X3(包括X3)与X4(不包括X4)之间,即落在第二目标位置范围时,需对该6个水平像素数据进行水平插值。每当有一个目标图像像素点的水平映射位置位于X3与X4之间时,都需对该6个水平像素数据进行一次水平插值处理。需要强调的是,在每次对同样的6个水平像素数据进行水平插值处理的过程中,需要根据差值基函数、水平映射位置以及6个水平像素数据的坐标位置进行计算,得到对应于各个水平像素数据的插值系数(共六个插值系数),将各个水平像素数据与对应的插值系数相乘得到六个乘积,而后将得到的乘积相加,完成一次水平插值处理。目标图像像素点的水平映射位置位于X3与X4之间,但不同的目标图像像素点的水平映射位置的具体坐标并不相同。因此,每次进行的水平插值处理中所使用的插值系数并不相同;即每次进行的具体的水平插值处理都有差异。当没有水平映射位置位于X3与X4之间时,则不需要对该6个水平像素数据进行水平插值处理。当需要插值时,采用Lanczos3插值基函数对水平方向的6个水平像素数据进行插值,得到水平插值结果。
接着,将水平插值结果逐行存放到行缓存区。
而后,垂直缩放处理模块根据目标图像映射到源图像的垂直映射位置的关系,判定是否需对当前4行的行图像数据(以Lanczos2作为垂直插值基函数为例)进行垂直插值,将当前4行的行图像数据的垂直坐标分别标记为Y1,Y2,Y3,Y4。具体地,当垂直映射位置位于Y2(包括Y2)与Y3(不包括Y3)之间时,即落在第一目标位置范围时,需对该4行的行图像数据进行垂直插值。同理,需要强调的是,每次进行的垂直插值处理中所使用的插值系数并不相同;即每次进行的具体的垂直插值处理都有差异。每当有一个垂直映射位置位于Y2与Y3之间时,都需对该4行进行一次垂直插值处理。当没有垂直映射位置位于Y2与Y3之间时,则不需要对该4行的行图像数据进行垂直插值。当需要插值时,采用Lanczos2插值基函数对垂直方向的4个像素数据进行插值,并逐行输出缩小后的目标图像。
根据本发明的一些实施例,结合图7对步骤S140进行进一步的说明,步骤S140还可以包括但不限于有步骤S310至步骤S350。
步骤S310:在采用第二处理顺序的情况下,发送低电平选择信号至多路选择器,令源图像的源图像数据通过多路选择器逐行输入至行缓存区,存放第二预设数目的行图像数据;其中,行缓存区包括至少两个静态随机存储器。
步骤S320:确定目标图像映射到源图像的垂直映射位置和水平映射位置。
步骤S330:在垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对行图像数据上垂直方向的像素进行垂直插值处理,得到垂直插值结果。
步骤S340:将垂直插值结果逐个地输入至水平缓冲区。
步骤S350:在水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对垂直插值结果进行水平插值处理,输出放大后的目标图像。
在一实施例中,直插值处理的情况下,Lanczos2函数确定了需要对当前4行图像数据进行垂直插值。因此,在步骤S310中存至行缓存区的行图像数据有4行,即第二预设数目为4行。即第二预设数目的具体取值由采用的垂直插值基函数确定。可以理解的是,可以根据图像处理的需要,选择其他的垂直插值基函数进行垂直插值处理,本发明对选用的垂直插值基函数不作具体的限制。
在一实施例中,步骤S350中采用的水平插值基函数是Lanczos3函数,在采用是Lanczos3函数进行水平插值处理的情况下,Lanczos3函数确定了需要对当前的6个像素数据进行水平插值。可以理解的是,可以根据图像处理的需要,选择其他的水平插值基函数进行水平插值处理,本发明对选用的水平插值基函数不作具体的限制。
根据本发明的一些实施例,步骤S250以及步骤S330中进行的垂直插值处理还包括:记录垂直映射位置落在预设的第一目标位置范围内的目标图像像素点的第一数量;根据第一数量,确定进行垂直插值处理的次数;其中,每次进行的垂直插值处理所使用的垂直插值系数不同,垂直插值系数通过垂直插值基函数计算得到。
根据本发明的一些实施例,步骤S230以及步骤S350中进行水平插值处理还包括:记录水平映射位置落在预设的第二目标位置范围内的目标图像像素点的第二数量;根据第二数量,确定进行水平插值处理的次数;其中,每次进行的水平插值处理所使用的水平插值系数不同,水平插值系数通过水平插值基函数计算得到。
需要说明的是,进行多次水平插值处理和垂直插值处理有利于提高缩放后得到的目标图像的图像质量。
通过步骤S310至步骤S350,需要进行图像水平放大处理时,采用先垂直缩放后水平缩放的第二处理顺序,需要的行缓存区深度与输入的源图像宽度一致,行缓存资源不会限制输出的目标图像的宽度;缓存资源的利用效率更高。
举一示例,结合图4,说明基于先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序处理源图像,得到放大后的目标图像的具体过程。
确定采用第二处理顺序后,首先将源图像的源图像数据逐行输入到行缓存区(以Lanczos2函数作为垂直插值基函数为例,存放4个行图像数据)。
然后,垂直缩放处理模块根据目标图像映射到源图像的垂直映射位置的关系,判定是否需对当前4行的行图像数据进行垂直插值,将当前4行的行图像数据的垂直坐标分别标记为Y1,Y2,Y3,Y4。具体地,当垂直映射位置位于Y2(包括Y2)与Y3(不包括Y3)之间时需对该4行进行垂直插值。每当有一个垂直映射的位置位于Y2与Y3之间,即落在第一目标位置范围时,都需对该4行的行图像数据进行垂直插值。当没有垂直映射位置位于Y2与Y3之间时,不用对该4行的行图像数据进行垂直插值。当需要插值时,采用Lanczos2插值基函数对垂直方向的4个像素的行图像数据进行插值,得到垂直插值结果。
接着,将垂直插值结果逐个输入到水平缩放处理模块的水平缓冲区(存放6个像素)。而不需要进行垂直插值时,无需将源图像数据输入到水平缓冲区。
然后,水平缩放处理模块根据目标图像映射到源图像的水平影射位置的关系,判定是否对当前6个水平像素数据进行水平插值,将当前6个像素数据的水平坐标分别标记为X1,X2,X3,X4,X5,X6。具体地,当水平映射位置位于X3(包括X3)与X4(不包括X4)之间,即落在第二目标位置范围时,需对该6个像素数据进行水平插值。每当有一个水平映射位置位于X3与X4之间,即落在第二目标位置范围时,则需对该6个像素数据进行一次水平插值。当没有水平映射位置位于X3与X4之间时,则不需要对该6个像素时间进行水平插值。当需要插值时,采用Lanczos3插值基函数对水平方向的6个像素数据进行水平插值,并输出放大后的目标图像。而不需要进行水平插值时,无需输出水平图像数据。行缓存区的深度只需与源图像宽度一致,无须因图像放大后目标图像宽度大于源图像宽度而增加行缓存区的深度。减少硬件缓存资源使用的同时,也能支持更大的目标图像宽度。
第二方面,如图8所示,本发明还提供了一种图像缩放装置800,包括:
处理器801,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器802,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器802可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器802中,并由处理器801来调用执行本发明实施例的图像缩放方法;
输入/输出接口803,用于实现信息输入及输出;
通信接口804,用于实现本装置与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线805,在设备的各个组件(例如处理器801、存储器802、输入/输出接口803和通信接口804)之间传输信息;
其中处理器801、存储器802、输入/输出接口803和通信接口804通过总线805实现彼此之间在设备内部的通信连接。
第三方面,本发明实施例还提供了一种电子设备,包括如上所述的图像缩放装置。
本发明实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述图像缩放方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,实现了以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明所限定的范围内。
Claims (8)
1.一种图像缩放方法,其特征在于,包括:
接收输入的待处理的源图像;
获取所述源图像的源图像宽度;
将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序;其中,所述图像缩放处理顺序表示水平缩放处理与垂直缩放处理之间的先后顺序;
根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,得到目标图像;
所述缩放处理类型包括图像水平缩小处理,所述将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序,包括:
在所述源图像宽度大于所述目标图像宽度的情况下,确定对所述源图像进行图像水平缩小处理;
在确定进行所述图像水平缩小处理的情况下,确定采用先进行水平缩放处理、后进行垂直缩放处理的第一处理顺序;
所述根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,包括:
在采用所述第一处理顺序的情况下,发送高电平选择信号至多路选择器,令所述源图像的源图像数据通过所述多路选择器逐个输入至水平缓冲区,存放第一预设数目的水平像素数据;
确定所述目标图像映射到所述源图像的垂直映射位置和水平映射位置;
在所述水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对所述水平像素数据进行水平插值处理,得到水平插值结果;
将所述水平插值结果逐行存放至行缓存区;其中,所述行缓存区包括至少两个静态随机存储器;
在所述垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对所述水平插值结果进行垂直插值处理,逐行输出缩小后的所述目标图像。
2.根据权利要求1所述的图像缩放方法,其特征在于,所述缩放处理类型包括图像水平放大处理,所述将所述源图像宽度和预置的目标图像宽度进行比较,确定对所述源图像进行的缩放处理类型和图像缩放处理顺序,包括:
在所述源图像宽度小于所述目标图像宽度的情况下,确定对所述源图像进行图像水平放大处理;
在确定进行所述图像水平放大处理的情况下,确定采用先进行垂直缩放处理、后进行水平缩放处理的第二处理顺序。
3.根据权利要求2所述的图像缩放方法,其特征在于,所述根据所述缩放处理类型和所述图像缩放处理顺序对所述源图像进行图像缩放处理,包括:
在采用所述第二处理顺序的情况下,发送低电平选择信号至多路选择器,令所述源图像的源图像数据通过所述多路选择器逐行输入至行缓存区,存放第二预设数目的行图像数据;其中,所述行缓存区包括至少两个静态随机存储器;
确定所述目标图像上的像素点映射到所述源图像的垂直映射位置和水平映射位置;
在所述垂直映射位置落在预设的第一目标位置范围的情况下,采用垂直插值基函数对所述行图像数据上垂直方向的像素进行垂直插值处理,得到垂直插值结果;
将所述垂直插值结果逐个地输入至水平缓冲区;
在所述水平映射位置落在预设的第二目标位置范围的情况下,采用水平插值基函数对所述垂直插值结果进行水平插值处理,输出放大后的所述目标图像。
4.根据权利要求1或3任意一项所述的图像缩放方法,其特征在于,所述进行垂直插值处理还包括:
记录所述垂直映射位置落在预设的所述第一目标位置范围内的目标图像像素点的第一数量;
根据所述第一数量,确定进行所述垂直插值处理的次数;其中,每次进行的所述垂直插值处理所使用的垂直插值系数不同,所述垂直插值系数通过所述垂直插值基函数计算得到。
5.根据权利要求1或3任意一项所述的图像缩放方法,其特征在于,所述进行水平插值处理还包括:
记录所述水平映射位置落在预设的所述第二目标位置范围内的目标图像像素点的第二数量;
根据所述第二数量,确定进行所述水平插值处理的次数;其中,每次进行的所述水平插值处理所使用的水平插值系数不同,所述水平插值系数通过所述水平插值基函数计算得到。
6.一种图像缩放装置,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至5任一项所述的图像缩放方法。
7.一种电子设备,其特征在于,包括如权利要求6所述的图像缩放装置。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的图像缩放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311256065.8A CN117011146B (zh) | 2023-09-27 | 2023-09-27 | 图像缩放方法及其装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311256065.8A CN117011146B (zh) | 2023-09-27 | 2023-09-27 | 图像缩放方法及其装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117011146A CN117011146A (zh) | 2023-11-07 |
CN117011146B true CN117011146B (zh) | 2023-12-19 |
Family
ID=88569360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311256065.8A Active CN117011146B (zh) | 2023-09-27 | 2023-09-27 | 图像缩放方法及其装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117011146B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950523A (zh) * | 2010-09-21 | 2011-01-19 | 上海大学 | 可调矩形窗图像缩放方法及装置 |
AU2015201416A1 (en) * | 2015-03-18 | 2016-10-06 | Canon Kabushiki Kaisha | Image downscale processing and apparatus |
CN108346131A (zh) * | 2018-01-26 | 2018-07-31 | 深圳开阳电子股份有限公司 | 一种数字图像缩放方法、装置及显示设备 |
CN111275615A (zh) * | 2020-01-08 | 2020-06-12 | 深圳市爱协生科技有限公司 | 基于双线性插值改进的视频图像缩放方法 |
CN115147695A (zh) * | 2022-06-30 | 2022-10-04 | 北京百度网讯科技有限公司 | 融合图像缩放与颜色空间转换的方法、装置及设备 |
CN115578258A (zh) * | 2022-09-29 | 2023-01-06 | 北京百度网讯科技有限公司 | 图像处理方法、装置、设备及存储介质 |
-
2023
- 2023-09-27 CN CN202311256065.8A patent/CN117011146B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101950523A (zh) * | 2010-09-21 | 2011-01-19 | 上海大学 | 可调矩形窗图像缩放方法及装置 |
AU2015201416A1 (en) * | 2015-03-18 | 2016-10-06 | Canon Kabushiki Kaisha | Image downscale processing and apparatus |
CN108346131A (zh) * | 2018-01-26 | 2018-07-31 | 深圳开阳电子股份有限公司 | 一种数字图像缩放方法、装置及显示设备 |
CN111275615A (zh) * | 2020-01-08 | 2020-06-12 | 深圳市爱协生科技有限公司 | 基于双线性插值改进的视频图像缩放方法 |
CN115147695A (zh) * | 2022-06-30 | 2022-10-04 | 北京百度网讯科技有限公司 | 融合图像缩放与颜色空间转换的方法、装置及设备 |
CN115578258A (zh) * | 2022-09-29 | 2023-01-06 | 北京百度网讯科技有限公司 | 图像处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
数字图像缩放算法研究及其硬件设计;江镇武;《中国优秀硕士学位论文全文数据库信息科技辑》;第1-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117011146A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109934773B (zh) | 一种图像处理方法、装置、电子设备和计算机可读介质 | |
CN111724304B (zh) | 一种图像缩放方法、装置、终端设备及存储介质 | |
CN107621932B (zh) | 显示图像的局部放大方法和装置 | |
JP2002328881A (ja) | 画像処理装置および画像処理方法並びに携帯用映像機器 | |
US20200193563A1 (en) | Image processing apparatus and method, and related circuit | |
CN109194878B (zh) | 视频图像防抖方法、装置、设备和存储介质 | |
CN111369444B (zh) | 一种图像缩放处理方法及装置 | |
CN110505523B (zh) | 一种视频转码优先级顺序控制方法及处理终端 | |
US11076092B2 (en) | Image processing apparatus, image processing method, and image processing program | |
CN117011146B (zh) | 图像缩放方法及其装置、电子设备、存储介质 | |
US20150085193A1 (en) | Method for improving video output definition and terminal device | |
CN113962892A (zh) | 校正广角镜头图像畸变的方法、装置及照相设备 | |
CN101483771B (zh) | 提升帧速率的方法与装置 | |
CN113658049A (zh) | 一种图像转置的方法、设备和计算机可读存储介质 | |
CN110738615B (zh) | 鱼眼图像校正方法、装置、***及可存储介质 | |
TWI389573B (zh) | 僅依據水平方向之影像區塊執行影像處理運作的影像處理方法及其相關裝置 | |
CN102340638B (zh) | 一种视频处理装置中并行处理数据的方法和装置 | |
CN114359029B (zh) | 图像处理方法及其装置、***、存储介质 | |
CN109698977B (zh) | 视频图像的还原方法及装置 | |
CN111161135B (zh) | 图片转换方法及相关产品 | |
CN110189279B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN116634165A (zh) | 视频处理装置、方法、设备、存储介质及程序产品 | |
CN112565652B (zh) | 一种图像数据存储方法、存储设备及计算机可读存储介质 | |
CN110473146B (zh) | 遥感图像显示方法、装置及存储介质和计算机设备 | |
JP2005227479A (ja) | 画像処理装置、画像処理方法及び画像処理方法をコンピュータに実行させるためのプログラム |
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 |