超大图片的缩放算法(撑爆内存的那种)
最近做图像处理时,在超大图的缩放上遇到了困难。阿里云OSS不支持20M以上图片的缩放。用opencv在内存里缩放,30000x30000的png图片,占用3g+内存,有点无法接受。于是自己调研相关算法。以300x300的png为例,正常缩放时,是将其整个读进内存,生成300x300x4的矩阵,然后对矩阵进行缩放,再将缩放后的矩阵写成png。png读取时,是一行一行读取的,写盘时,也是一行一行写的。这里用 双立方(三次)卷积插值 进行缩放,该算法用临近的16个点(4x4)进行采样。所以一边读,