一种图像快速缩放的方法和装置的制作方法

文档序号:6438888阅读:112来源:国知局
专利名称:一种图像快速缩放的方法和装置的制作方法
技术领域
本发明涉及视频以及图像处理技术领域,尤其涉及一种图像快速缩放的方法和装置。
背景技术
在图像/视频处理过程中,经常会用到图像或视频首帧图像的缩放图,现有技术中,一般采用插值法来实现图像或视频首帧的缩放。插值(Interpolation),有时也称为“重置样本”,是在不生成像素的情况下增加图像像素大小的一种方法,在周围像素色彩的基础上用数学公式计算丢失像素的色彩。有些相机使用插值,人为地增加图像的分辨率。 在实现本发明的过程中,发明人发现现有技术存在以下技术问题插值法需要计算丢失像素的色彩,运算量大,当进行大批图像缩放时,效率低。

发明内容
本发明实施例提供了一种图像快速缩放的方法和装置,通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像。本发明实施例提供了一种图像快速缩放的方法,包括以下步骤A、以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;B、将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;C、以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数;D、将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像;E、循环步骤A和步骤B直到所述横向浮点变量等于所述目的图像的高度值,循环步骤C和步骤D直到所述纵向浮点变量等于所述目的图像的宽度值。在步骤A至步骤D之前,包括获取原始图像,计算所述原始图像的宽度值和高度值;根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例;根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。还包括所述横向缩放比例为所述目的图像的宽度值与所述原始图像的宽度值的比值;所述纵向缩放比例为所述目的图像的高度值与所述原始图像的高度值的比值。本发明实施例的技术方案带来的有益效果如下通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。本发明实施例提供了一种图像快速缩放的装置,包括
变量设置单元,用于设置横向浮点变量和纵向浮点变量累加计算单元,用于以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;还用于以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数;图像复制单元,用于将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;还用于将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像;循环单元,用于循环步骤A和步骤B直到所述横向浮点变量等于所述目的图像的高度值,循环步骤C和步骤D直到所述纵向浮点变量等于所述目的图像的宽度值。还包括获取单元,用于获取原始图像;计算单元,用于计算所述原始图像的宽度值和高度值;根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例;根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。 还包括所述横向缩放比例为所述目的图像的宽度值与所述原始图像的宽度值的比值;所述纵向缩放比例为所述目的图像的高度值与所述原始图像的高度值的比值。本发明实施例的技术方案带来的有益效果如下通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例中一种图像快速缩放的方法流程图;图2是本发明实施例中一种图像快速缩放的方法具体流程图;图3是本发明实施例中一种图像快速缩放的装置结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例一一种图像快速缩放的方法,如图I所示,包括以下步骤步骤S101,以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;所述横向缩放比例为所述目的图像的宽度值与所述原始图像的宽度值的比值。步骤S102,将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;步骤S103,以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数;所述纵向缩放比例为所述目的图像的高度值与所述原始图像的高度值的比值。步骤S104,将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像;步骤S105,循环步骤步骤SlOl和步骤步骤S102直到所述横向浮点变量等于所述目的图像的高度值,循环步骤步骤S103和步骤步骤S104直到所述纵向浮点变量等于所述目的图像的宽度值。在步骤SlOl至步骤S104之前,包括
获取原始图像,计算所述原始图像的宽度值和高度值;根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例;根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。本发明实施例的技术方案带来的有益效果如下通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。本发明实施例二一种图像快速缩放的方法,如图2所示,包括以下步骤首先设横向浮点变量fw,纵向浮点变量fh,用于累加。步骤S201,获取原始图像,计算所述原始图像的宽度值和高度值。比如原始图像(widthO,heightO),目的图像(widthl, heightl);其中widthO为原始图像的宽度值,heightO为原始图像的高度值;其中widthl为目的图像的宽度值,heightl为目的图像的高度值。步骤S202,根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例,如公式I :rw = widthl/widthO(I)其中,rw为横向缩放比例。步骤S203,根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例,,如公式2 :rh = heightl/heightO(2)其中,rh为纵向缩放比例。步骤S204,以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数。步骤S205,将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像。步骤S206,以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数。步骤S207,将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像。步骤S208,循环步骤步骤S204和步骤步骤S205直到所述横向浮点变量等于所述目的图像的高度值,循环步骤步骤S206和步骤步骤S207直到所述纵向浮点变量等于所述目的图像的宽度值,具体过程如下设两个指针PO和pi,p0指向图0首地址,pi指向图I首地址。
I、做图像放大时,rw, rh为小于I的数纵向的放大for (index = 0 heightl){复制p0指向的一行到pi处;Pl指向下一行;fh 累加 rh ;
当fh累加到整数,PO指向下一列;}横向的放大for (index = 0 widthl){复制p0指向的一列到pi处;Pl指向下一列;fw 累加 rw ;当fw累加到整数,p0指向下一行;}2、图像缩小时,rw, rh为大于I的数纵向的缩小for (index = 0 heightl){复制p0指向的一行到pi处;Pl指向下一行;fh 累加 rh ;while (fh—)p0 指向下一行;}横向的缩小for (index = 0 widthl){复制p0指向的一列到pi处;Pl指向下一列;fw 累加 rw ;while (fw—), pO 指向下一列;}由以上过程可以道,横向和纵向各循环一次就能完成所述原始图像到目的图像的缩放。本发明实施例的技术方案带来的有益效果如下通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。
本发明实施例三一种图像快速缩放的装置,如图3所示,包括变量设置单元301,用于设置横向浮点变量和纵向浮点变量。累加计算单元302,用于以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;还用于以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数。图像复制单元303,用于将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;还用于将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像。循环单元304,用于循环累加计算单元和累加计算单元直到所述横向浮点变量等于所述目的图像的高度值,循环累加计算单元和累加计算单元直到所述纵向浮点变量等于所述目的图像的宽度值。
获取单元305,用于获取原始图像。计算单元306,用于计算所述原始图像的宽度值和高度值;根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例;根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。本发明实施例的技术方案带来的有益效果如下通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种图像快速缩放的方法,设置横向浮点变量和纵向浮点变量,其特征在于,包括以下步骤 A、以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数; B、将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像; C、以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数; D、将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像; E、循环步骤A和步骤B直到所述横向浮点变量等于所述目的图像的高度值,循环步骤C和步骤D直到所述纵向浮点变量等于所述目的图像的宽度值。
2.如权利要求I所述一种图像快速缩放的方法,其特征在于,在步骤A至步骤D之前,包括 获取原始图像,计算所述原始图像的宽度值和高度值; 根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例; 根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。
3.如权利要求2所述一种图像快速缩放的方法,其特征在于,包括 所述横向缩放比例为所述目的图像的宽度值与所述原始图像的宽度值的比值; 所述纵向缩放比例为所述目的图像的高度值与所述原始图像的高度值的比值。
4.一种图像快速缩放的装置,其特征在于,包括 变量设置单元,用于设置横向浮点变量和纵向浮点变量累加计算单元,用于以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;还用于以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数;图像复制单元,用于将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;还用于将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像; 循环单元,用于循环步骤A和步骤B直到所述横向浮点变量等于所述目的图像的高度值,循环步骤C和步骤D直到所述纵向浮点变量等于所述目的图像的宽度值。
5.如权利要求4所述一种图像快速缩放的装置,其特征在于,包括 获取单元,用于获取原始图像; 计算单元,用于计算所述原始图像的宽度值和高度值;根据所述的原始图像的宽度值和目的图像的宽度值生成所述横向缩放比例;根据所述的原始图像的高度值和目的图像的高度值生成所述纵向缩放比例。
6.如权利要求5所述一种图像快速缩放的装置,其特征在于,包括 所述横向缩放比例为所述目的图像的宽度值与所述原始图像的宽度值的比值; 所述纵向缩放比例为所述目的图像的高度值与所述原始图像的高度值的比值。
全文摘要
本发明实施例公开了一种图像快速缩放的方法和装置,设置横向浮点变量和纵向浮点变量,所述方法包括以下步骤A、以所述横向浮点变量累加横向缩放比例,直至所述横向浮点变量为整数;B、将累加后的所述横向浮点变量对应的所述原始图像的行复制到所述目的图像;C、以所述纵向浮点变量累加纵向缩放比例,直至所述纵向浮点变量为整数;D、将累加后的所述纵向浮点变量对应的所述原始图像的列复制到所述目的图像;循环步骤A、B和步骤C、D完成图像快速缩放。本发明实施例中,通过抽取/复制原始图像的一部分行/列数据,根据所抽取/复制的行/列数据生成目的图像,在对图像质量要求不高的情况下,可以快速实现缩放,提高了效率。
文档编号G06T3/40GK102750667SQ20111037104
公开日2012年10月24日 申请日期2011年11月21日 优先权日2011年11月21日
发明者张婷 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1