如:
原始图像为M*N,缩小后图像大小要求为m*n,则需要将图像划分为(M*N)/(m*n)大小的互不相交的小块,计算小块的平均值,该值作为缩小图像对应的像素值。
如下图:
我们把16*16的图像缩小成4*4的图像:
最后对应的值如下:
‘
在Opencv里面图片缩放函数如下
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )
前两个参数分别为输入和输出图像。dsize表示输出图像的大小,如果为0,则
dsize=Size(round(fx∗src.cols),round(fy∗src.rows))
dsize=Size(round(fx∗src.cols),round(fy∗src.rows))
dsize和fx、fy不能同时为0。fx、fy是沿x轴和y轴的缩放系数;默认取0时,计算如下
fx=(double)dsize.width/src.cols
fx=(double)dsize.width/src.cols
fy=(double)dsize.height/src.rows
fy=(double)dsize.height/src.rows