图像缩放实际上就是增加或者减少原图像数据的像素的个数。图像缩放可能会造成信息的丢失。需要选择合适的缩放方法进行操作。图像的缩放过程涉及到采样和插值。
一般有以下两种方法:
- 基于等间隔提取图像像素的缩放
基于等间隔提取图像像素的缩放是对原始图像进行均匀采样来完成的。对于原始图像像素数据,其图像大小为**,如果想要将这幅图像的大小改变为**。使用等间隔采样,宽度缩放系数为:,高度缩放系数为:。对于图像,图像缩放在其水平方向的等间隔采样为,在垂直方向上的等间隔采样为。若就表示原图像要等比例缩放,否则原图像则会发生扭曲现象。缩放的矩阵表示如下:
\2. 基于区域子块提取图像缩放
提取区域子块图像缩放是通过对原图像进行区域子块划分,然后提取子块中像素值作为采样像素用来作为目标图像的像素。提取子块的像素的方法通常是提取块像素中得中值或者计算块像素的平均值。对于子块的划分其实就是对于矩阵的划分,划分子块的方法有很多种,常用的方法就是根据缩放系数提取和自适应因子提取子块。例如对于src(x,y)为 4x4的矩阵,如果目标矩阵为2x2,那么可以按照矩阵的子块划分,然后求每个分块矩阵的均值或者矩阵中得中值作为目标矩阵的一个元素。原始矩阵如下:
目标矩阵dst(x,y) 为:
则A11 应为a11,a12,a21,a22的均值或者中值。
示例代码如下:
1 |
|
输入图像为:
输出图像1(等间隔采样):
输出图像2(基于区域子块采样):