发明内容
本发明实施例提供的一种图像缩小方法及装置,解决了目前的图像缩小都以空间特征为主,由于目前的图像缩小算法的复杂度高,导致了准确率低的技术问题。
本发明实施例提供的一种图像缩小方法,包括:
根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;
对所述缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则对所述图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;
若为整数倍,则对所述图像依次进行图像均值缩小处理、图像边缘增强处理;
输出处理后的图像。
可选地,输出处理后的图像之前还包括:
若所述缩小倍数处于1倍至1/2倍区间,则直接对所述图像进行图像双线性缩小处理。
可选地,图像均值缩小处理具体包括:
对所述图像进行相邻行的像素点均值计算。
可选地,图像边缘增强处理具体包括:
根据所述图像相邻点的像素点信息,计算出图像边缘位置,并把图像边缘信息增强补偿。
可选地,图像双线性缩小处理具体包括:
根据所述缩小倍数计算插值系数和对应像素点坐标,再对所述图像进行插值计算。
本发明实施例提供的一种图像缩小装置,包括:
缩小单元,用于根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;
判断单元,用于对所述缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则触发第一执行单元,若为整数倍,则触发第二执行单元;
所述第一执行单元,用于触发图像均值缩小模块、图像边缘增强模块、图像双线性缩小模块对所述图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;
所述第二执行单元,用于触发所述图像均值缩小模块、所述图像边缘增强模块对所述图像依次进行图像均值缩小处理、图像边缘增强处理;
输出单元,用于输出处理后的图像。
可选地,还包括:
第三执行单元,用于若所述缩小倍数处于1倍至1/2倍区间,则触发所述图像双线性缩小模块直接对所述图像进行图像双线性缩小处理。
可选地,所述图像均值缩小模块,用于对所述图像进行相邻行的像素点均值计算。
可选地,所述图像边缘增强模块,用于根据所述图像相邻点的像素点信息,计算出图像边缘位置,并把图像边缘信息增强补偿。。
可选地,所述图像双线性缩小模块,用于根据所述缩小倍数计算插值系数和对应像素点坐标,再对所述图像进行插值计算。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的一种图像缩小方法及装置,其中,图像缩小方法包括:根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;若为整数倍,则对图像依次进行图像均值缩小处理、图像边缘增强处理;输出处理后的图像。本实施例中,通过根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;若为整数倍,则对图像依次进行图像均值缩小处理、图像边缘增强处理;输出处理后的图像,解决了目前的在较少的硬件资源下,无法实现较好的图像缩小效果成为图像处理的技术问题。
具体实施方式
本发明实施例提供的一种图像缩小方法及装置,解决了目前的图像缩小都以空间特征为主,由于目前的图像缩小算法的复杂度高,导致了准确率低的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种图像缩小方法的一个实施例包括:
101、根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;
本实施例中,当需要进行图像缩小时,首先需要根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数。
102、对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则执行步骤103,若为整数倍,则执行步骤104,若缩小倍数处于1倍至1/2倍区间,则执行步骤105;
当根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数之后,需要对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则执行步骤103,若为整数倍,则执行步骤104,若缩小倍数处于1倍至1/2倍区间,则执行步骤105。
103、对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;
当处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理。
104、对图像依次进行图像均值缩小处理、图像边缘增强处理;
当为整数倍,则对图像依次进行图像均值缩小处理、图像边缘增强处理。
105、直接对图像进行图像双线性缩小处理;
若缩小倍数处于1倍至1/2倍区间,则直接对图像进行图像双线性缩小处理。
106、输出处理后的图像。
步骤103或104或105之后,输出处理后的图像。
需要说明的是,图像均值缩小处理具体包括:对图像进行相邻行的像素点均值计算。
图像边缘增强处理具体包括:根据图像相邻点的像素点信息,计算出图像边缘位置,并把图像边缘信息增强补偿。
图像双线性缩小处理具体包括:根据缩小倍数计算插值系数和对应像素点坐标,再对图像进行插值计算。
下面以一具体应用场景进行描述,如图3至图5所示,应用例包括:
采用了两级缩小模块加图像边缘增强模块,根据图像缩小倍数关系,选择不同的图像缩小模块,并利用图像边缘增强模块对图像进行锐化补偿,采用这种方法可以在缩小到比1/2更小的比例后,仍然保持较好的图像清晰度,并且本方法在FPGA(FieldProgrammable Gate Array,现场可编程门阵列)芯片中进行了实际验证和应用。
(1)控制模块,负责根据输入输出图像的大小计算缩小倍数,然后将缩小倍数送入图像均值缩小模块和图像双线性缩小模块并控制其工作,同时控制选择使用相关模块或bypass该模块。
(2)图像均值缩小模块,采用取平均值得方法对图像进行整数倍的缩小处理。例如,缩小1/2,则对图像水平相邻两像素点相加,再除2取平均,同时对相邻两行的像素点对应相加,再除2取平均。如果缩小1/3,则对图像水平相邻三像素点相加,再除3取平均,同时对相邻三行的像素点对应相加,再除3取平均。图像均值缩小模块能够在缩小时很好地保留图像信息,但是只适合于整数倍缩小,并且图像取均值后边缘信息变弱。
(3)图像边缘增强模块,根据图像相邻点的信息,计算出图像边缘位置,并把图像边缘信息增强补偿。例如,当相邻点的数值相差超过门限值,比如45,则认为是图像边缘位置,根据缩小的倍数,可以实时调整门限值,如缩小1/2,门限值设为90;缩小1/2,门限值设为45;缩小1/3,门限值设为30,依次类推。当发现图像边缘位置时,将边缘位置的像素点按缩小的倍数对应放大,例如图像是缩小1/2的,则将该像素点乘2放大,这样可以使图像边缘信息重新得到增强。
(4)图像双线性缩小模块,采用双线性插值算法,根据缩小倍数计算插值系数和对应像素点坐标,再对图像进行插值计算,最后输出缩小后图像。双线性插值算法实际就是最常见的线性插值,因为将线性插值分解成水平和垂直两个方向进行,所以称为双线性插值。它通过待插值像素点周围4个相关像素点的灰度值,经过二维线性加权平均计算得到插值像素点灰度值。如图2所示,原始4个像素点为a1,a2,a3,a4,水平和垂直两个方向点距为单位长度1,其坐标位置分别为a1(x,y),a2(x+1,y),a3(x,y+1),a4(x+1,y+1),待插值像素点坐标为P(x+dx,y+dy),用双线性插值法计算得到待插值像素点P的灰度值为:
P(x+dx,y+dy)=(1-dx)(1-dy)a1+dx(1-dy)a2+(1-dx)dya3+dxdya4=a1+dx(a2-a1)+dy(a3-a1)+dxdy(a1-a2-a3+a4)
计算公式经过改写后,只需4次乘法和简单的加减法即可计算出待插值的像素点。
图像缩小的处理流程,如图3所示。首先控制模块根据输入输出图像大小计算缩小倍数,然后根据缩小的倍数,控制选通不同的模块。
1)当缩小倍数介于1~1/2之间,适合直接使用图像双线性缩小模块,图像输入后,bypass图像均值缩小模块和图像边缘增强模块,然后进入图像双线性缩小模块进行缩小处理后输出。
2)当缩小整数倍,如1/2,1/3,1/4,图像输入后,根据缩小倍率使用图像均值缩小模块进行整数倍缩小,然后进入图像边缘增强模块进行边缘信息增强,最后bypass图像双线性缩小模块后输出。
3)当缩小倍数介于1/2~1/3,1/3~1/4之间,图像输入后,根据缩小倍率使用图像均值缩小模块进行区间内较大的整数倍缩小,然后进入图像边缘增强模块进行边缘信息增强,之后根据整数倍缩小后的大小重新计算新的缩小倍数,最后进入图像双线性缩小模块处理后输出。
举例说明,输入图像分辨率为1024x768,输出图像分辨率要求320x240。首先计算缩小倍数,320/1024=0.3125,介于1/2~1/3之间,所以使用1/2倍进行图像均值缩小,缩小后图像大小为512x384,然后进入图像边缘增强模块进行边缘信息增强。接下来计算新的缩小倍数,320/512=0.625,介于1~1/2之间,进入图像双线性缩小模块进行再次缩小后输出,得到最终输出图像。
本实施例中,通过根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;若为整数倍,则对图像依次进行图像均值缩小处理、图像边缘增强处理;输出处理后的图像,解决了目前的在较少的硬件资源下,无法实现较好的图像缩小效果成为图像处理的技术问题。
请参阅图2,本发明实施例提供的一种图像缩小装置的一个实施例包括:
缩小单元201,用于根据图像的输入图像大小计算待输出的输出图像大小的缩小倍数;
判断单元202,用于对缩小倍数进行判断,若处于1/2倍至1/3倍区间或1/3倍至1/4倍区间,则触发第一执行单元203,若为整数倍,则触发第二执行单元204;
第一执行单元203,用于触发图像均值缩小模块a、图像边缘增强模块b、图像双线性缩小模块c对图像依次进行图像均值缩小处理、图像边缘增强处理、图像双线性缩小处理;
第二执行单元204,用于触发图像均值缩小模块a、图像边缘增强模块b对图像依次进行图像均值缩小处理、图像边缘增强处理;
第三执行单元205,用于若缩小倍数处于1倍至1/2倍区间,则触发图像双线性缩小模块c直接对图像进行图像双线性缩小处理;
输出单元206,用于输出处理后的图像。
需要说明的是,图像均值缩小模块a,用于对图像进行相邻行的像素点均值计算。
图像边缘增强模块b,用于根据图像相邻点的像素点信息,计算出图像边缘位置,并把图像边缘信息增强补偿。
图像双线性缩小模块c,用于根据缩小倍数计算插值系数和对应像素点坐标,再对图像进行插值计算。
解决了目前的图像缩小都以空间特征为主,由于目前的图像缩小算法的复杂度高,导致了准确率低的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。