我这样简单的缩小图形的算法,为何有问题?
假如原图形中每一个像素是这样的:
a00 a01 a02 a03 a04 a05
a10 a11 a12 a13 a14 a15
a20 a21 a22 a23 a24 a25
a30 a31 a32 a33 a34 a35
上面一共是6*4个像素,我将他的宽度和高缩小一半,得到3*2个像素,于是:
(a00 + a01 + a10 + a11) / 4 是分别将R、G、B分量相加除以4之后再合成一个颜色。
这样计算应该是没有问题的吧?
但是,我发现如果这样一直递归计算下去,比如有一张256*256的图片,首先用上面的方法,邻近4个点采样平均,得到一张128*128的,再在这张128*128的图片上,邻近4个点采样缩成一张64*64的,如此一直缩到8*8。
我发现,当缩小越多的时候图像失真就越是严重,256*256的图缩到64*64的时候,整幅图像感觉除了色调、色温一样之外,图像都好象已经完全变了。
这是怎么回事呢?