【发明内容】
本发明的目的就是为了解决现有技术图片缩放处理方法中存在的只能对于特定尺寸的图片进行缩放以及算法复杂、运算时间长、硬件电路难以实现等技术问题,本发明提供一种图片缩放处理方法及处理装置。
本发明的具体技术方案如下:
本发明提供一种图片缩放处理方法,该方法包括:
接收源图片信息数据并进行解码,获取源图片位图格式数据;
根据设定的第一图片缩放比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片的位图格式数据;
根据设定的第二图片缩放比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据。
所述第一图片缩放比例为图片缩小比例,所述第二图片缩放比例为图片放大比例。
根据设定的图片缩小比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片位图格式数据,具体包括:
设定源图片位图格式数据中每一像素点的位置坐标;
根据设定的图片缩小比例,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;
根据设定的图片缩小比例,对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;
形成中间图片位图格式数据。
根据设定的图片放大比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据,具体包括:
根据设定的图片放大比例,逐行计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值;
根据设定的图片放大比例,逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值;
逐行将颜色值为上述平均值的像素点添加到中间图片位图格式数据中相邻多个像素点之间;
逐列将颜色值为上述平均值的像素点添加到中间图片位图格式数据中相邻多个像素点之间;
形成目标图片位图格式数据。
所述第一图片缩放比例为图片放大比例,所述第二图片缩放比例为图片缩小比例。
根据设定的图片放大比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片位图格式数据,具体包括:
设定源图片位图格式数据中每一像素点的位置坐标;
根据设定的图片放大比例,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素;
根据设定的图片放大比例,对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素点;
形成中间图片位图格式数据。
根据设定的图片缩小比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据,具体包括:
根据设定的图片缩小比例,逐行计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值;
根据设定的图片缩小比例,逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值;
逐行将颜色值为上述平均值的像素点替代中间图片位图格式数据中的相邻多个像素点;
逐列将颜色值为上述平均值的像素点替代中间图片位图格式数据中相邻多个像素点之间;
形成目标图片位图格式数据。
所述图片缩放处理方法进一步包括:接收目标图片的位图格式数据进行编码,获取目标图片信息数据并输出。
本发明还提供一种图片缩放处理装置,该装置包括:
解码单元,用于对接收的源图片信息数据进行解码,获取源图片位图格式数据;
第一缩放处理单元,用于根据设定的第一图片缩放比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片的位图格式数据;
第二缩放处理单元,用于根据设定的第二图片缩放比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据。
所述第一缩放处理单元包括:
坐标设定子单元,设定源图片位图格式数据中每一像素点的位置坐标;
第一图片缩放比列设定单元,用于设定第一图片缩放比例;
第一像素点控制单元,根据设定的第一图片缩放比例及像素点的位置坐标,逐行及逐列对源图片位图格式数据抽取或添加像素点。
所述第二缩放处理单元包括:
第二图片缩放比列设定单元,用于设定第二图片缩放比例;
颜色值计算单元,用于计算相邻多个像素点所表示颜色值的平均值;
第二像素点控制单元,用于根据设定的第二图片缩放比例及相邻像素点的颜色值的平均值,逐行及逐列抽取或替代所述中间图片位图格式数据中像素点。
所述图片缩放处理装置还包括:
编码单元,用于将接收的目标图片的位图格式数据进行编码,获取目标图片信息数据并输出。
相较于现有技术,本发明图片缩放处理方法及处理装置的主要有益效果在于:
(1).根据像素点的位置坐标,对源图片位图格式数据按照第一比列进行抽取或添加像素点,使得源图片缩放为为一尺寸适当的中间图片;再根据相邻像素点所表示颜色值的平均值,对中间图片进行缩放,得到目标图片。因此,通过上述操作,本发明可以对任意尺寸的图片进行缩放,可以满足不同显示设备的要求,具有较好的兼容性。
(2).本发明只需对相邻像素点的颜色值进行平均计算,所以其算法简单,运算时间短,硬件电路易于实现且便于操作。
【具体实施方式】
本发明涉及一种图片缩放处理方法及处理装置,下面结合附图详细描述本发明的技术方案:
实施例1
如图1所示,本发明提供的一种图片缩放处理方法,包括步骤:
101、接收源图片信息数据并进行解码,获取源图片位图格式数据;所述源图片信息数据为BMP格式图片、JPG格式图片、PNG格式图片、TGA格式图片或者PCX格式图片等;
102、根据设定的第一图片缩放比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片的位图格式数据;
103、根据设定的第二图片缩放比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据。
实施例2
在实施例1的基础上,进一步的实施例2中,所述第一图片缩放比例为图片缩小比例,所述第二图片缩放比例为图片放大比例,则所述步骤102及所述步骤103具体包括:
(1).对源图片进行图片缩小处理操作时:
设定源图片位图格式数据中每一像素点的位置坐标。如源图片位图格式数据中的像素点共有m行、n列,设定其中位于第i行、第j列的像素点的坐标为(i,j),设定坐标为(i,j)的像素点的颜色值表示为f(i,j)。
根据源图片到目标图片的图片缩小比例值,先设定一数值较小的源图片到中间图片的缩小比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,可先设定源图片的缩小比例值为D/F,即先设定得到图片尺寸为源图片的图片尺寸的D/F的中间图片,其中,B、D、E、F均为自然数,B<E,D<F,D/F<B/E的数值。
根据设定的源图片到中间图片的缩小比例值,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;形成中间图片位图格式数据。
根据源图片到目标图片的图片缩小比例值以及步骤102中源图片到中间图片的图片缩小比例值,通过计算得出中间图片到目标图片的图片放大比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,步骤102中设定的源图片到中间图片的缩小比例值为D/F,则中间图片到目标图片的图片放大比例值B*F/E*D。
根据设定的中间图片到目标图片的放大比例值,逐行计算中间图片位图格式数据中相邻两个像素点或者相邻多个像素点所表示颜色值的平均值,以及逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值。例如,对于第i行中的像素点,取相邻的(i,j+1)像素点、(i,j+2)像素点、……、(i,j+X)像素点,则上述相邻X(X为大于等于2的自然数)个像素点的颜色值的平均值为[f(i,j+1)+f(i,j+2)、……、f(i,j+X)]/X,对于第i+1行中的像素点依次类推;对于第j列中的像素点,取相邻的(i+1,j)像素点、(i+2,j)像素点、……、(i+Y,j)像素点,则上述相邻Y(Y为大于等于2的自然数)个像素点的颜色值的平均值为[f(i+1,j)+f(i+2,j)、厖、f(i+Y,j)]/Y,对于第j+1列中的像素点依次类推。
逐行将颜色值为上述颜色值的平均值的像素点添加到中间图片位图格式数据中相邻多个像素点之间,逐列将颜色值为上述平均值的像素点添加到中间图片位图格式数据中相邻两个像素点或者相邻多个像素点之间,形成目标图片位图格式数据。
(2).对源图片进行图片放大处理操作时:
设定源图片位图格式数据中每一像素点的位置坐标。如源图片位图格式数据中的像素点共有m行、n列,设定其中位于第i行、第j列的像素点的坐标为(i,j),设定坐标为(i,j)的像素点的颜色值表示为f(i,j)。
根据源图片到目标图片的图片放大比例值,先设定一适当的的源图片到中间图片的缩小比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,可先设定源图片的缩小比例值为D/F,即先设定得到图片尺寸为源图片的图片尺寸的D/F的中间图片,其中,B、D、E、F均为自然数,B>E,D<F,D/F<1<B/E的数值。
根据设定的源图片到中间图片的缩小比例值,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标抽取一个或者多个像素点;形成中间图片位图格式数据。
根据源图片到目标图片的图片放大比例值以及步骤102中源图片到中间图片的图片缩小比例值,通过计算得出中间图片到目标图片的图片放大比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,步骤102中设定的源图片到中间图片的缩小比例值为D/F,则中间图片到目标图片的图片放大比例值B*F/E*D。
根据设定的中间图片到目标图片的放大比例值,逐行计算中间图片位图格式数据中相邻两个像素点或者相邻多个像素点所表示颜色值的平均值,以及逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值。例如,对于第i行中的像素点,取相邻的(i,j+1)像素点、(i,j+2)像素点、……、(i,j+X)像素点,则上述相邻X(X为大于等于2的自然数)个像素点的颜色值的平均值为[f(i,j+1)+f(i,j+2)、……、f(i,j+X)]/X,对于第i+1行中的像素点依次类推;对于第j列中的像素点,取相邻的(i+1,j)像素点、(i+2,j)像素点、……、(i+Y,j)像素点,则上述相邻Y(Y为大于等于2的自然数)个像素点的颜色值的平均值为[f(i+1,j)+f(i+2,j)、……、f(i+Y,j)]/Y,对于第j+1列中的像素点依次类推。
逐行将颜色值为上述颜色值的平均值的像素点添加到中间图片位图格式数据中相邻多个像素点之间,逐列将颜色值为上述平均值的像素点添加到中间图片位图格式数据中相邻两个像素点或者相邻多个像素点之间,形成目标图片位图格式数据。
实施例3
在实施例1的基础上,进一步的实施例3中,所述第一图片缩放比例为图片放大比例,所述第二图片缩放比例为图片缩小比例,则所述步骤102及所述步骤103具体包括:
(1).对源图片进行图片缩小处理操作时:
设定源图片位图格式数据中每一像素点的位置坐标。如源图片位图格式数据中的像素点共有m行、n列,设定其中位于第i行、第j列的像素点的坐标为(i,j),设定坐标为(i,j)的像素点的颜色值表示为f(i,j)。
根据源图片到目标图片的图片缩小比例值,先设定一适当的源图片到中间图片的放大比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,可先设定源图片的放大比例值为D/F,即先设定得到图片尺寸为源图片的图片尺寸的D/F的中间图片,其中,B、D、E、F均为自然数,B<E,D>F,D/F>1>B/E的数值。
根据设定的源图片到中间图片的放大比例值,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素点;对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素点;形成中间图片位图格式数据。
根据源图片到目标图片的图片缩小比例值以及步骤102中源图片到中间图片的图片放大比例值,通过计算得出中间图片到目标图片的图片缩小比例值。例如:要得到图片尺寸为源图片的图片尺寸的B/E的目标图片,步骤102中设定的源图片到中间图片的放大比例值为D/F,则中间图片到目标图片的图片缩小比例值B*F/E*D。
根据设定的中间图片到目标图片的缩小比例值,逐行计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值,以及逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值。例如,对于第i行中的像素点,取相邻的(i,j+1)像素点、(i,j+2)像素点、……、(i,j+X)像素点,则上述相邻X(X为大于等于2的自然数)个像素点的颜色值的平均值为[f(i,j+1)+f(i,j+2)、厖、f(i,j+X)]/X,对于第i+1行中的像素点依次类推;对于第j列中的像素点,取相邻的(i+1,j)像素点、(i+2,j)像素点、……、(i+Y,j)像素点,则上述相邻Y(Y为大于等于2的自然数)个像素点的颜色值的平均值为[f(i+1,j)+f(i+2,j)、……、f(i+Y,j)]/Y,对于第j+1列中的像素点依次类推。
逐行将颜色值为上述平均值的像素点替代中间图片位图格式数据中的相邻多个像素点;逐列将颜色值为上述平均值的像素点替代中间图片位图格式数据中的相邻多个像素点之间;形成目标图片位图格式数据。
(2).对源图片进行图片放大处理操作时:
设定源图片位图格式数据中每一像素点的位置坐标。如源图片位图格式数据中的像素点共有m行、n列,设定其中位于第i行、第j列的像素点的坐标为(i,j),设定坐标为(i,j)的像素点的颜色值表示为f(i,j)。
根据源图片到目标图片的图片放大比例值,先设定一较大的源图片到中间图片的放大比例值。例如:要得到的目标图片的图片尺寸为源图片的图片尺寸的B/E,可先设定源图片的放大比例值为D/F,即先设定得到图片尺寸为源图片的图片尺寸的D/F的中间图片,其中,B、D、E、F均为自然数,B>E,D>F,D/F>B/E的数值。
根据设定的源图片到中间图片的放大比例值,对源图片位图格式数据按照逐行每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素点;对源图片位图格式数据按照逐列每隔一个像素点或者每隔多个像素点的位置坐标添加一个或多个重复像素点;形成中间图片位图格式数据。
根据源图片到目标图片的图片放大比例值以及步骤102中源图片到中间图片的图片放大比例值,通过计算得出中间图片到目标图片的图片缩小比例值。例如:要得到图片尺寸为源图片的图片尺寸的B/E的目标图片,步骤102中设定的源图片到中间图片的放大比例值为D/F,则中间图片到目标图片的图片缩小比例值B*F/E*D。
根据设定的中间图片到目标图片的缩小比例值,逐行计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值,以及逐列计算中间图片位图格式数据中相邻多个像素点所表示颜色值的平均值。例如,对于第i行中的像素点,取相邻的(i,j+1)像素点、(i,j+2)像素点、……、(i,j+X)像素点,则上述相邻X(X为大于等于2的自然数)个像素点的颜色值的平均值为[f(i,j+1)+f(i,j+2)、厖、f(i,j+X)]/X,对于第i+1行中的像素点依次类推;对于第j列中的像素点,取相邻的(i+1,j)像素点、(i+2,j)像素点、……、(i+Y,j)像素点,则上述相邻Y(Y为大于等于2的自然数)个像素点的颜色值的平均值为[f(i+1,j)+f(i+2,j)、……、f(i+Y,j)]/Y,对于第j+1列中的像素点依次类推。
逐行将颜色值为上述平均值的像素点替代中间图片位图格式数据中的相邻多个像素点;逐列将颜色值为上述平均值的像素点替代中间图片位图格式数据中的相邻多个像素点之间;形成目标图片位图格式数据。
实施例4
在实施例1、实施例2或实施例3的基础上,本发明提供的一种图片缩放处理方法,进一步包括步骤:
104、接收目标图片的位图格式数据进行编码,获取目标图片信息数据并输出。
实施例5
如图3所示,本发明还提供一种图片缩放处理装置,该图片缩放处理装置包括:
解码单元,用于对接收的源图片信息数据进行解码,获取源图片位图格式数据;
第一缩放处理单元,用于根据设定的第一图片缩放比例,依像素点的位置坐标改变源图片位图格式数据像素点的数量,形成中间图片的位图格式数据;
第二缩放处理单元,用于根据设定的第二图片缩放比例,依相邻像素点的颜色值的平均值改变中间图片位图格式数据中像素点的数量,形成目标图片位图格式数据。
实施例6
如图4所示,在实施例5的基础上,进一步的实施例6中,所述第一缩放处理单元包括:
坐标设定单元,设定源图片位图格式数据中每一像素点的位置坐标;
第一图片缩放比列设定单元,用于设定第一图片缩放比例;
第一像素点控制单元,用于根据设定的第一图片缩放比例及像素点的位置坐标,逐行及逐列对源图片位图格式数据抽取或添加像素点。
实施例7
如图5所示,在实施例5的基础上,进一步的实施例7中,所述第二缩放处理单元包括:
第二图片缩放比列设定单元,用于设定第二图片缩放比例;
颜色值计算单元,用于计算相邻多个像素点所表示颜色值的平均值;
第二像素点控制单元,用于根据设定的第二图片缩放比例及相邻像素点的颜色值的平均值,逐行及逐列抽取或替代所述中间图片位图格式数据中像素点。
实施例8
在实施例5、实施例6或实施例7的基础上,所述图片缩放处理装置还包括:
编码单元,用于将接收的目标图片的位图格式数据进行编码,获取目标图片信息数据并输出。
本发明提供了一种图片缩放处理方法及处理装置,相较于现有技术,本发明的主要有益效果在于:
(1).根据像素点的位置坐标,对源图片位图格式数据按照第一比列进行抽取或添加像素点,使得源图片缩放为为一尺寸适当的中间图片;再根据相邻像素点所表示颜色值的平均值,对中间图片进行缩放,得到目标图片。因此,通过上述操作,本发明可以对任意尺寸的图片进行缩放,可以满足不同显示设备的要求,具有较好的兼容性。
(2).本发明只需对相邻像素点的颜色值进行平均计算,所以其算法简单,运算时间短,硬件电路易于实现且便于操作。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。